TL;DR
vscode で XAMPP-VM for OS X + XDebug 使って PHPリモートデバッグするときは
PHP.ini の xdebug.remote_host に
Mac のプライベートIPアドレス を指定してやればいい
プライベートIPアドレスは ifconfig
や システム環境設定 > ネットワーク から確認
なんで XAMPP-VM for OS X なんか使ってるの?
なんで Mac で XAMPP しかも VM 版なんか使ってるの?
Mac なら PHP 入ってるしビルトインサーバもあるでしょ。
Docker 使うのもいいよね。
わかる。誰だってそうする。私だってそうする。
でも今回は XAMPP-VM for OS X 使ってる環境で
デバッグしないとだったので戦ってみました。
ちなみに調べてる最中で stackoverflow など含めてネット上に一番多かった情報は
「VM 版じゃないほう使ったら解決しました!!」でした。わかる。
なんでハマったの
- Virtual Box だとゲストOSからホストOSにアクセスするときは(デフォルトで)ホストOS側に 10.0.2.2 が割りあてられてるよなーみたいな知識にひっぱられた
- Virtual Box は仮想ネットワークがあるもんね。。。
- Docker だと host.docker.internal ってのも使えるよねっていう知識にひっぱられた
- Docker の ネットワーク略
- おめーが XDebug のことちゃんとわかってなかっただけだろ
- はい。。。。2時間半ぐらい戦いました猛省します
参考にしたサイトなど
- PHP Debug - Visual Studio Marketplace
- vscode↔Docker内PHPでリモートデバッグしたときにハマったこと - Qiita
-
DockerでXDebug使ってPHPデバッグする際はremote_connect_backが使えない - Qiita
- XAMPP-VM for Mac OS X でも xdebug.remote_connect_back ではだめだった
- PhpStormを使う。VirtualBoxのPHPでXdebug設定 - TECH Pjin
- [PHP] Xdebug のリモートデバッグ、理解していますか? - Qiita
- Macで自分のIPアドレスを調べる方法 - minto.tech