エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【xdebug】php.iniなどに書く設定の意味【622日目】

Dockerでxdebug動かす設定をしてみた

www.nyamucoro.com

こちらで設定をしましたが、この設定の意味なんだろう。

意味わからずに書いては応用が効かないのでいろいろ試して・調べてみました。

zend_extension

zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-0000000000/xdebug.so

xdebugで使うやつのパスだよ!ちゃんと自分の環境に合わせてパスを指定しないと動かないよ!

xdebug.remote_enable

xdebug.remote_enable=1

リモートでxdebugを動かせるようにする。VSCodeやPHPStorm使ってブレークポイントどうこうは、これ設定しよう。

xdebug.remote_host xdebug.remote_port

xdebug.remote_host=host.docker.internal
xdebug.remote_port=9000

デバッグするときに、コンテナの中から、手元のエディタに向けて通信をしたいわけだけど、
通信どうする?ってお話。

host.docker.internalは、コンテナ内から手元に向かって通信するときのホスト名になるよ。

curl host.docker.internal

コンテナの中(docker exec -it container_name bash)で、上のようなコマンド試すとわかりやすいかも!

xdebug.remote_autostart

xdebug.remote_autostart=true

本来はxdebugはすぐには動かなくて、

?XDEBUG_SESSION_START=netbeans-xdebug

とかを一度URLアクセスするときに使って、起動する必要があるんだけど、
この設定で最初から起動状態にしておくよ。