phpでサーバー デバッグを待ち受けます
はじめに
XdebugとPHPStormでリモートデバッグできるように設定ました。
開発環境
・Windows10(64bit)+PHPStorm v10.0.3(PHPのインストールは不要)
・CENTOS6+PHP5.6(ドキュメントルートを開発機と共有)
通信イメージなど
・クライアントとWEBサーバ(80ポート,443ポート,)で通信する
・WEBサーバと開発機(9000番ポート,など)で通信する
WEBサーバ(xdebugを設定)(/etc/php.d/15-xdebug.ini)
zend_extension=/usr/lib64/php/modules/xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=開発機のIP
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_autostart=1
開発機(ファイアウォールを設定)
・9000番ポートを開放
開発機(PHPStormでリモートサーバーを設定)
File->Settings->Languages & Frameworks->PHP->Servers
・80番ポート用の設定を追加
・443番ポート用の設定を追加
ステップ実行できるかの確認
・PHPStormで右上にある電話みたいなマークをおしてデバッグ接続待ち受けを開始
(停止中)
(待ち受け中)
・PHPStormでブレークを設定して適当なクライアントからアクセス
まとめ
これまでは、xdebug.idekey設定後に、Run->Configurationsからリモートサーバーを設定していましたけど、それよりもシンプルになっていて良いなと思いました。
また、開発機=クライアント端末の場合、WEBサーバの xdebug.remote_host ではなくて xdebug.remote_connect_back=1 を設定する方法でもOK。