PhpStorm と Xdebug で EC2 上のリモート PHP コードをデバッグする方法
EC2 インスタンス上で実行されている PHP コードは、 PhpStorm と Xdebug を使用してデバッグできます。
前提条件
Software | Version |
---|---|
PHP | 7.1.7 |
Apache | 2.2.32-1.9 |
PhpStorm | 2017.1.4 |
設定
サーバー
php.ini
に Xdebug の設定を追加し、 sudo service httpd restart
を実行して Apache を再起動してください。
xdebug.so
を含むディレクトリは、ユーザーの環境によって異なる場合があります。 [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 アプリケーションを実行している対象サーバーを追加してください。
Field | Value |
---|---|
Name | EC2 private IP |
Host | EC2 public IP |
Debugger | Xdebug |
Use path mappings | ON |
Absolute path on the server | /var/www/html/<YOUR_WEB_APP_ROOT> |
php.ini
の xdebug.idekey
フィールドに設定した IDE キーを設定してください。
ルーター
ルーターを使用している場合は、ポートマッピングを構成してポート 9000 への接続を localhost に転送できるようにしてください。
デバッグ
任意の位置にブレークポイントを設定し、 Listen mode
をオンにしてください。
WEB ブラウザを使用して EC2 インスタンスにアクセスすると、 PhpStorm がブレークポイントで停止します。
まとめ
本番環境のコードを直接デバッグすることはダメですが、開発環境とステージング環境では役立つかもしれません。
この投稿が、お役に立てば幸いです。