新しいメンバーのためにPhpStormのリモートデバッグの設定方法を記事にします。
php.iniの設定
末尾にXDebugの設定を以下のように追加する。
zend_extension=/usr/lib64/php/modules/xdebug.so xdebug.remote_enable = On xdebug.remote_autostart = On xdebug.idekey = IDEKEY xdebug.remote_host = 192.168.17.1
xdebug.so
のパスはsudo find / -name "xdebug.so"
などで探して指定します。
xdebug.idekey
には、任意のIDEKEYを指定します。ここで設定したIDEKEYをPhpStormのDebug設定で使用します。
xdebug.remote_host
はサーバから見たPhpStormを実行するホストのIPアドレスを入れます。
※アスタの開発環境ではsetup.sh
で設定してしまうのでシェル冒頭の変数だけセットすればOKです。
PhpStormの設定
Serverの追加
Preferences > Languages & Frameworks > PHP > Servers
+ボタンから、リモートデバッグするサーバを追加します。
任意のNameをつけて、Hostを入力。Absolute path on the server はリモートとローカルのパスが一致するように設定します。
Remote Debug設定
メインメニューのRun > Edit Configurations… > PHP Remote Debug
PHP Remote Debugの上で+ボタンを押してリモートデバッグの設定を追加します。
任意のNameをつけて、Filter debug connection by IDE key にチェック*1 し、先に登録したServerを選択。
IDE key(session id) にはサーバのphp.iniに設定したxdebug.idekey
を入力します。
Debugを実行する
Run > Debug から、先程追加したリモートデバッグの設定を選択すれば、デバッグが開始されます。
あとはコードウィンドウの行数表示の右をクリックしてブレークポイントを置き、デバッグしたいページをブラウザで表示させればデバッグが始まります。
デバッグを開始するとPhpStormの下部にDebugツールが開くので、ここからStepの操作を行ったり、その時点の定数や変数の値を確認することができます。
参考
PHP(xdebug)+IntelliJでブレークポイント置いてるのに、そこで止まってくれないとき – カイワレの大冒険 Third
- IDEKEYがサーバと一致しない場合デバッグしないということかな [↩]