前回投稿でEclipse-PDTのインストールとデバッガの設定を紹介したのですが、筆者が持っている2台のmacのうち1台だけ、最初の行ではブレークするのに、なぜかブレークポイントで止まらないという現象が発生しました。

 

解決時のレシピ

色々試行錯誤した結果、最終的には

プロジェクト作成時に、PHP Versionの項目で”Use default PHP settings”を選択する

で解決しました。何故これが原因だったのかは分かりませんが、今のところ問題無く動いています。

 

動いた条件を書いておきます。

対象macの環境
  • Mac OSX Lion 10.7.4
  • PHP ver. 5.3.10(/usr/bin/php)
  • Eclipse-Indigo 3.7.2 + PDT(3.0.0.v201201110400-77-184)
  • XDebug ver. 2.2.0(macにデフォルトインストールされていたモノ)
php.ini
[xdebug]
zend_extension="/usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
xdebug.profiler_output_dir="/tmp/xdebug/"
xdebug.profiler_enable=On
xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9001
xdebug.remote_handler="dbgp"
xdebug.idekey=ECLIPSE_DBGP

試行錯誤の中で、ポート番号をデフォルト値の9000から変更しています。

(ポート番号を変えるときは、↑の値を書き換えて、Eclipse環境設定>PHP>Debug>Installed debuggersで変更)

 

XDebugが動作しているかどうかを確認する

なお、そもそもXDebugが動作しているかどうかは、phpinfo()で見ることができます(割と下の方に表示される)。FirewallがXDebugのポートをはじいていたり、XDebugファイルがPHPのバージョンと合ってない…etcでXDebugが動いていない場合は、phpinfo()に表示されないはずです。またこのXDebugの項で、php.iniで設定した値が正しく反映されているかもチェックできます。

 

解決するまでに参考にした記事

他のServiceが9000番を使っていて、ポート番号の干渉が原因で動かないケースもあるらしい。

 

ここでも同じトラブルについて議論されていた。
xdebug.remote_autostart=off
としたら動くとのウワサも。

 

困ったら一読したらいいかもしれないマニュアル。

 

「WordPress Tips」の記事