mixiのアカウントでWebサービスを認証したいのでOpenIDを試したのですがなかなかうまくいかない。
そこでソースデバッグの環境を構築してみました。

インストール

NetBeans6.5 と xampp のインストール

NetBeans6.5のダウンロード
ここのサポートテクノロジーPHPをダウンロードしてインストールしました。
http://www.netbeans.org/downloads/index.html

xammpのダウンロード
http://www.apachefriends.org/jp/xampp-windows.html

設定

NetBeans IDE での PHP ソースコードデバッグ
http://www.netbeans.org/kb/docs/php/debugging_ja.html

上記だけではうまく行かない。


PHPデバッグxdebugをxamppで有効にする
http://www.mapee.jp/wlh/phpxdebugxampp.html

zend_extension_ts を切り替えるために、コメントアウトとメントアウトを取りました。

;zend_extension_ts = "C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"

をしないとうまく動きません。

C:\xampp\apache\bin\php.ini

[Zend]
;zend_extension_ts = "C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts = "C:\xampp\php\zendOptimizer\lib\Optimizer"
zend_optimizer.enable_loader = 0
zend_optimizer.optimization_level=15
;zend_optimizer.license_path =
; Local Variables:
; tab-width: 4
; End:

[XDebug]
;; Only Zend OR (!) XDebug
zend_extension_ts="C:\xampp\php\ext\php_xdebug.dll"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir="C:\xampp\tmp"


こんなエラーが出ます。

C:\xampp\apache\logs\error.log

PHP Fatal error:  [Zend Optimizer] Zend Optimizer 3.3.3 is incompatible with Xdebug 2.0.3 in Unknown on line 0
[Sun Feb 15 10:13:40 2009] [warn] pid file C:/xampp/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Sun Feb 15 10:13:40 2009] [notice] Digest: generating secret for digest authentication ...
[Sun Feb 15 10:13:40 2009] [notice] Digest: done

php.iniを保存したらapacheを再起動します。
error.logを開き、エラーがないことを確認します。

NetBeansの操作

C:\work\openid を指定して openid プロジェクトを作成しました。

プロジェクトプロパティ、ソース c:\work\openid

プロジェクトプロパティ、実行構成
開始ファイルを
C:\work\openid\php-openid-2.1.2\mixiopenid.php
に設定しました。
このファイルがデバッグできます。

サーバ側PHP(S)を選択

デバッグ対象のPHPを実行して起動したブラウザ

NetBeansのソースデバッグ画面
$action = で停止中です

このようにNetBeansを使用してソースデバッグが出来るようになりました。
しかしOpenIDは本物のサーバ上に置かないと認証結果がもらえないみたいです。

ローカルサーバだけで動作するPHPデバッグについては便利だと思います。
NetBeansでソースをエディットするとリアルタイムでエラーを表示してくれたり
簡単に関数の実態へジャンプできるので大変便利です。