●NetBeans と PHP コマンドライン起動のソースデバッグ
リモート環境にてコマンドライン起動のPHPのソースデバッグを行う方法を試行錯誤したメモです。
NetBeans と Xdebug をインストールしたけれどブレークポイントで実行が止まらない方の参考になれば幸いです。
●NetBeans IDE 7.3 と PHP CLI Xdebug 2.2 の設定
#!/bin/sh export XDEBUG_CONFIG="remote_enable=On idekey=netbeans-xdebug remote_host=10.0.0.1 remote_log=/tmp/xdebug_remote.log" /usr/bin/php -d zend_extension="/usr/lib64/php/modules/xdebug.so" -f /home/user/project/batch/test.php
●ソースデバッグの実行
いよいよデバッグの実行です。
sudo -u apache /home/user/project/batch/test.sh
●トラブルシューティング
ブレークポイントで停止しない時は...次のパターン別に確認してみましょう。
#!/bin/sh export XDEBUG_CONFIG="remote_enable=On idekey=netbeans-xdebug remote_host=10.0.0.1 remote_log=/tmp/xdebug_remote.log" /usr/bin/php -d zend_extension="/usr/lib64/php/modules/xdebug.so" -i
これを実行して以下の設定が含まれているか確認してみてください。
sudo -u apache /home/user/project/batch/php.sh | grep xdebug
xdebug support => enabled ... XDEBUG_CONFIG => remote_enable=On idekey=netbeans-xdebug remote_host=10.0.0.1 remote_log=/tmp/xdebug_remote.log
/tmp/xdebug_remote.log
I: Connecting to configured address/port: 10.0.0.1:9000.
E: Could not connect to client. :-(
/tmp/xdebug_remote.log
-> <init fileuri="file:///home/user/project/batch/test.php"></init>
...
<- breakpoint_set
file:///C:/Users/developer/Documents/NetBeansProjects/project/batch/test.php -n 6