PhpStorm+DockerでXDebugを使用する
XDebugをDockerコンテナにインストールする
DockerfileにXDebugをインストールするコマンドを追加する。
# xdebug
RUN pecl install xdebug && \
docker-php-ext-enable xdebug
php.iniにXDebug用の設定を追加する
Dockerコンテナにコピーするphp.iniにXDebug用の設定を追加する。
[xdebug]
xdebug.idekey = www-data
xdebug.max_nesting_level = 512
xdebug.remote_enable = On
xdebug.remote_autostart = On
xdebug.remote_host = host.docker.internal
xdebug.remote_port = 9000
Dockerコンテナを起動する
docker-compose up -d
PhpStormの設定を変更する
- PhpStorm > Preferences…から設定画面を開く。
- Languages & Frameworks > PHP > Debug > Pre-configuration > 3. Enable listening for PHP Debug ConnectionsのStar Listeningを押下する。
- Languages & Frameworks > PHP > Serversからサーバーを追加する。
- Nameは任意の値を入力する。
- Hostに
localhost
、Portに8000
を入力し、DebuggerにXdebug
を選択する。 - Use path mappingsにチェックを入れる。
- Docker上にマウントされるディレクトリのAbsolute path on the serverにマウント先のパスを入力する。
- 設定画面を閉じ、ツールバーのEdit Configurations…を押下する。
- PHP Remote Debugの設定を追加する。
- Configuration > Filter debug connection by IDE keyにチェックを入れる。
- Serverに上記で設定したサーバーを選択する。
- IDE Key (session id)に
www-data
を入力する。
デバッグ実行する
Configurationsから上記で設定したものを選択し、Run > Debugを実行する。