■
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"
をしないとうまく動きません。
[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
NetBeansの操作
C:\work\openid を指定して openid プロジェクトを作成しました。
プロジェクトプロパティ、ソース c:\work\openid
プロジェクトプロパティ、実行構成
開始ファイルを
C:\work\openid\php-openid-2.1.2\mixiopenid.php
に設定しました。
このファイルがデバッグできます。
サーバ側PHP(S)を選択
NetBeansのソースデバッグ画面
$action = で停止中です
このようにNetBeansを使用してソースデバッグが出来るようになりました。
しかしOpenIDは本物のサーバ上に置かないと認証結果がもらえないみたいです。
ローカルサーバだけで動作するPHPのデバッグについては便利だと思います。
NetBeansでソースをエディットするとリアルタイムでエラーを表示してくれたり
簡単に関数の実態へジャンプできるので大変便利です。