😀

docker on vagrant環境でXdebug3をvscodeから動かす方法

1 min read

どうも。今回は2020年11月のXdebugのアップデートで今までの設定では動かなくなったXdebugを動かそうと思います。
調べたら出てくるものですが、今のところ日本語の記事がないため備忘録としても残しておきます。

Xdebug3を動かす方法

まず、今までのXdebug2を動かすためには皆さんはこういう設定をphp.iniなどに記載していたはずです。

xdebug.default_enable = 1
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_port = 9000
xdebug.remote_host = 10.0.2.2

ですが、今回の変更でこれでは動かなくなりました。
ちょっっっとだけはまったので一応記事として書いておきます。
変更点はhttps://xdebug.org/docs/upgrade_guide
を見てもらったらわかると思います。

こちらを今回はこう変えます。

xdebug.mode = debug,develop
xdebug.start_with_request = yes
xdebug.client_port = 9003
xdebug.client_host = 10.0.2.2

こうなります。変更点としては

xdebug.default_enable = 1
xdebug.remote_enable = 1
xdebug.remote_autostart = 1

xdebug.mode = debug,developに変わったところでしょうか。start_with_requestは試していませんが元記事を見る限りは必要ないかと思います。
そして、vscodeなどのリモートIDEからデバッグするのに重要なのはこれですね。

xdebug.client_port = 9003
xdebug.client_host = 10.0.2.2

これは設定の名称が変わっただけですのでそんなに問題はないと思います。また。デフォルトのポート番号が変更になりました。
まあこれは元々ポート番号をデフォルトから変えた状態で行っていれば問題ないかもしれませんが、僕は一応書いてます。
という感じでvagrantをリビルドすると、デバッグが実行できるかと思います。
phpstormを使っている方はお馴染みのxdebug.idekey = "phpstorm"は必要なようですので、phpstormを使っている方はそのままにしておけば動くと思います。

という感じで備忘録でした。
なかなかdockerをそのまま動かしている人はみるのですがvagrantにdocker載せて動かしている人はなかなか見ないので。。。
docker for macのくそIO遅い問題を抱えたローカル環境にお困りの皆さん!!
僕のvagrant-lampを使えば結構早いですよ!!