Eclipse-PDTでXDebugでブレークしないときの対処法まとめ
前回投稿で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」の記事
- WordPressでSVG画像を扱えるようにする
- ウィジェットタイトルを画像に置き換える方法
- 見出し行数をカウントするスクリプトを書いてみた
- 別の投稿を丸ごと挿入するプラグインを作ってみた
- 著者ページの削除方法
- PHPの無名関数
- タクソノミーの名前を変更する
- ブログ投稿インデックスページとは?
- カテゴリIDを階層順に並べた配列をつくる
- Eclipse-PDTでXDebugでブレークしないときの対処法まとめ << この記事です
- Mac OSX Lionに入れたWordPressをEclipsePDTでデバッグできるようにする
- MacにWordPressのプラグインインストールできないときの対処法
- Mac OSX LionにApache、MySQL、PHP、WordPressを入れる
- カスタム投稿にカテゴリやタグを追加する
- slideshareをWordPressに貼付ける方法まとめ
- スタイルシート初歩の前
- Windows7でWordPressテーマを開発するときのトラブル
- BitNamiの基本事項 for mac
- WordPressにおける連想配列を理解する