PhpStorm と Xdebug で EC2 上のリモート PHP コードをデバッグする方法

PhpStorm と Xdebug で EC2 上のリモート PHP コードをデバッグする方法

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

EC2 インスタンス上で実行されている PHP コードは、 PhpStorm と Xdebug を使用してデバッグできます。

前提条件

SoftwareVersion
PHP7.1.7
Apache2.2.32-1.9
PhpStorm2017.1.4

設定

サーバー

php.ini に Xdebug の設定を追加し、 sudo service httpd restart を実行して 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

PhpStorm

Run > Edit Configurations... を開き、 PHP Remote Debug を選択してください。

Servers をクリックし、以下の設定に基づいて WEB アプリケーションを実行している対象サーバーを追加してください。

FieldValue
NameEC2 private IP
HostEC2 public IP
DebuggerXdebug
Use path mappingsON
Absolute path on the server/var/www/html/<YOUR_WEB_APP_ROOT>

php.inixdebug.idekey フィールドに設定した IDE キーを設定してください。

ルーター

ルーターを使用している場合は、ポートマッピングを構成してポート 9000 への接続を localhost に転送できるようにしてください。

デバッグ

任意の位置にブレークポイントを設定し、 Listen mode をオンにしてください。 WEB ブラウザを使用して EC2 インスタンスにアクセスすると、 PhpStorm がブレークポイントで停止します。

まとめ

本番環境のコードを直接デバッグすることはダメですが、開発環境とステージング環境では役立つかもしれません。

この投稿が、お役に立てば幸いです。

岩佐 孝浩

岩佐 孝浩

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