PHPのデバッグ時に起動57%で止まってしまう場合の確認ポイント

Eclipse + PHP + Xdebugという、参考書にもよく載っているモジュール構成でPHPのコードをデバッグしようとすると、起動後57%で処理が停止してしまう場面に出くわすことがあります。

ネットで検索すると、この現象にぶつかる方も多いようです。

私もしばらくこの件に煩悶したのですが、解決しました。

結論から言えば、設定ファイルの記述を修正することで解決。

開発環境は、以前のブログに書いたものと同様です。

VMware PlayerのゲストOSからネット接続をするための設定 - KyakujinのWarning Log

私の環境ではXdebugの設定ファイルは下記に格納されており、このファイルを編集しました。

/etc/php.d/xdebug.ini

この設定ファイルの中身を丸々掲載します。

; Enable xdebug extension module
zend_extension=/usr/lib64/php/modules/xdebug.so

; see http://xdebug.org/docs/all_settings

xdebug.remote_enable = 1
xdebug.remote_host = 192.168.11.11
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000

ポイントは次の2点。

  • xdebug.remote_host」の箇所に適切なアドレス(=デバッグ対象のアドレス)を設定すること。
  • xdebug.remote_port」で設定したポート番号がXdebug以外で使われてないか確認すること。

この2点に気をつけて適宜修正し、Apacheを再起動するとphpinfoにxdebugの項目も表示され、PHPデバッグが無事出来るようになりました。

この話題は様々な方が解決法を書いていらっしゃるのですが、環境が微妙に違うためか記載通りに設定してもうまくいかないことが多かったので、自分の環境を再インストールして同じ問題にぶつかった時のために、今のうちに記録しておこうと思ったのです。