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

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

Takahiro Iwasa
Takahiro Iwasa
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 がブレークポイントで停止します。

まとめ

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

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

Takahiro Iwasa

Takahiro Iwasa

Software Developer at KAKEHASHI Inc.
Involved in the requirements definition, design, and development of cloud-native applications using AWS. Now, building a new prescription data collection platform at KAKEHASHI Inc. Japan AWS Top Engineers 2020-2023.