概要
ドはまりしてしまったVSCodeのxdebugの設定について記載します。
VSCodeをつかって社内LANでつながっている開発サーバにxdebugをセットアップし、リモートデバッグをしようとしました。
サーバ側の設定(php.ini)やクライアント側の設定(VSCode)の設定は割愛します。
(ページ下部の参考にしてほしいサイトを確認してください)
ホストを設定してからのリモートでバッグ
xdebug.remote_host=172.20.1.30
上記であればうまくいきましたが、
xdebug.remote_connect_back=1
これだとだめでした。デバッグがとまりませんでした。なぜ。
結論
結論から言うと、プロキシのせいでした。
プロキシを通って開発サーバにアクセスという経路を通っていたため、remote_connect_backで許可する範囲を超えてしまっており、リモートデバッグができていませんでした。
プロキシを通さずに開発サーバにつなげる設定箇所は下記のとおりです。
(もちろん環境によってはできないこともあります。可能かどうかはネットワークに詳しい人に構成を確認してもらいましょう。だめならremote_hostで設定すればいいだけの話です。めんどくさいですし忘れやすいところですが。)
ここにチェックをする、もしくは
ここに例外のホスト記述を行います。
(「172.20.*」など)
原因がプロキシでなさそうな方へ
下記を確認してみてください。参考にしてほしいサイトです。とても参考になります。
[PHP] Xdebug のリモートデバッグ、理解していますか?
https://qiita.com/castaneai/items/d5fdf577a348012ed8af
【PHP】リモートマシンのデバッグを、「複数人で」やる【Xdebug×DBGpProxy】
https://qiita.com/takudo/items/35d2fd3c6e9846715bf4