EC2 で PhpStorm と Xdebug を使用して PHP コードをデバッグする方法

EC2 で PhpStorm と Xdebug を使用して PHP コードをデバッグする方法

岩佐 孝浩
岩佐 孝浩
4 min read
EC2 PHP PhpStorm

はじめに

リモートの EC2 インスタンスで実行されている PHP コードをデバッグするのは難しい場合があります。しかし、PhpStormXdebug を適切に設定すれば、デバッグ作業を効率化し、開発効率を向上させることができます。

前提条件

以下のソフトウェアバージョンがインストールされていることを確認してください。

ソフトウェアバージョン
PHP7.1.7
Apache2.2.32-1.9
PhpStorm2017.1.4

サーバー設定

php.ini ファイルに Xdebug 設定を追加し、Apache サーバーを再起動します。

[xdebug]
zend_extension="/opt/remi/php71/root/usr/lib64/php/modules/xdebug.so"
xdebug.remote_enable = 1
xdebug.remote_connect_back = 1
xdebug.remote_host = "127.0.0.1"
xdebug.idekey = "IDE_KEY"
xdebug.remote_autostart=true

次のコマンドで Apache を再起動します。

sudo service httpd restart

PhpStorm の設定

PhpStorm のメニューから Run > Edit Configurations... を開き、PHP Remote Debug を選択します。

サーバーの追加

Servers をクリックし、以下の設定でターゲットサーバーを追加します。

項目設定値
NameEC2 のプライベート IP
HostEC2 のパブリック IP
DebuggerXdebug
Use path mappingsON
Absolute path/var/www/html/<YOUR_WEB_APP_ROOT>

php.inixdebug.idekey フィールドで定義した IDE key を設定します。

ポートフォワーディング

ネットワークルーターを使用している場合、ポート 9000 へのインバウンド接続を許可し、それをローカルホストに転送するようポートマッピングを構成してください。

コードのデバッグ

デバッグを開始するには、以下の手順を実行してください。

  1. デバッグしたい PHP コードの位置にブレークポイントを設定します。
  2. PhpStorm で Listen for PHP Debug Connections モードを有効にします。
  3. ウェブブラウザを使用して EC2 インスタンスにアクセスします。

ブレークポイントがトリガーされると、PhpStorm はコードの実行を一時停止し、コードを検査してデバッグすることができます。

まとめ

このセットアップにより、PhpStorm と Xdebug の機能を活用して、AWS EC2 上にホストされた PHP アプリケーションを効率的にデバッグできます。このワークフローを利用することで、コードの実行状況を正確に把握し、複雑な問題の解決がより容易になります。

Happy Coding! 🚀

岩佐 孝浩

岩佐 孝浩

Software Developer at KAKEHASHI Inc.
AWS を活用したクラウドネイティブ・アプリケーションの要件定義・設計・開発に従事。 株式会社カケハシで、処方箋データ収集の新たな基盤の構築に携わっています。 Japan AWS Top Engineers 2020-2023