システムエンジニアのにしだです。 最近printデバッグに限界を感じたので、PhpStormでXdebugのリモートデバッグ設定をしてみました。 リモートサーバ環境はCentOS6.4でphp-fpmを使用しています。

Xdebugの主な機能

XdebugはPHP用のデバッグツールで、主に下記の機能があります。

  • 実行時プロファイリング
  • エラー時のスタックトレースを表示
  • var_dumpの出力結果を整形
  • リモートデバッグ

Xdebugをインストールする

peclからもインストールできますが、今回はepelから入れます。

Xdebugの設定です。 xdebug.remote_portのデフォルト値は9000らしいのですが、php-fpmと被るため9001にしました。

php-fpmをリスタートします。

設定が反映されているか確認します。

続きを読む

DBGpプロキシをインストールする

環境によっては必要ないかもしれませんが、複数のクライアントマシンから接続するため、DBGpプロキシをインストールします。 Xdebug側ではxdebug.remote_connect_back=1の設定をすることで、複数のIPアドレスからの登録が可能になります。 ダウンロードして配置します。

起動します。

エラーが出てしまいました。

pythonのdbgpモジュールが無いようだったのでインストールします。 まずはsetuptoolsとpipをインストールします。

つぎにpipからdbgpをインストールします。

今度は、起動できました。

PhpStormの設定をする

Debugの設定をします。 xdebug.remote_portのポートを変更したので9001にします。 Xdebugのポートを変更 Serversの設定をします。 ここでリモートサーバー上のディレクトリパスを正しくマッピングする必要があります。 6 Debug Configurationsの設定をします。 5 DBGpプロキシの設定をします。 DBGp Proxyのコンフィグ DBGp Proxyの設定をします。 DBGp Proxyの設定

デバッグを開始する

上記の設定が全て終わったらデバッグを開始します。 IDEの登録を実行します。 IDEの登録 登録が成功するとリモートサーバ側に下記のようなメッセージが表示されます。

最後にこの電話マークのボタンを押します。接続が成功すると電話のマークが緑に変わります。 8 これで変数の内容がPhpStormから参照できたり、ブレークポイントで停止したりするはずです。

あわせて読みたい記事