Dockerでxdebug動かす設定をしてみた
こちらで設定をしましたが、この設定の意味なんだろう。
意味わからずに書いては応用が効かないのでいろいろ試して・調べてみました。
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アクセスするときに使って、起動する必要があるんだけど、
この設定で最初から起動状態にしておくよ。