🐷
Drupal:Vscodeを使った開発環境で、Xdebugが起動しなかった問題
問題
下記参考サイト
こちらを元にLandoを使用したDrupalのローカル開発環境を作成しようとしましたが、Vscode経由のXdebugの接続ができず、また色々なサイトを確認したのですがどの解決方法でも解決できず四苦八苦していました。エラーログ
[603] Log opened at 2023-06-11 23:34:37.739714
[603] [Step Debug] INFO: Checking for client discovery headers: 'HTTP_X_FORWARDED_FOR,REMOTE_ADDR'.
[603] [Step Debug] INFO: Checking header 'HTTP_X_FORWARDED_FOR'.
[603] [Step Debug] INFO: Checking header 'REMOTE_ADDR'.
[603] [Step Debug] WARN: Could not discover client host through HTTP headers, connecting to configured address/port: 172.22.169.144:9003.
[603] [Step Debug] WARN: Creating socket for '172.22.169.144:9003', poll success, but error: Operation now in progress (29).
[603] [Step Debug] ERR: Could not connect to debugging client. Tried: 172.22.169.144:9003 (fallback through xdebug.client_host/xdebug.client_port).
[603] Log closed at 2023-06-11 23:34:39.473741
<- outputEvent
tS {
seq: 0,
type: 'event',
event: 'output',
body: {
category: 'stdout',
output: 'Listening to Xdebug on port 0.0.0.0:9003,:::9003 ...\n'
}
}
Listening to Xdebug on port 0.0.0.0:9003,:::9003 ...
<- launchResponse
BE {
seq: 0,
type: 'response',
request_seq: 2,
command: 'launch',
success: true
}
環境
Drupal9
Lando3.18
Windows10
WSL2
解決方法
同じ問題にあった人がたくさんいらっしゃったようですが、私の問題はもっと根本的なところで、VScodeの拡張機能のWSLがなかったんですね。これらを有効化すれば解決しました。
同僚にも確認しましたが、みんな当たり前に入れているらしくその為なかなか記述がなかったようです…その他の解決方法
下記はその他の解決法です。誰かの助けになれば幸いです。
解決方法1:PHPDebugの拡張機能を入れる
参考サイト
調べて真っ先に出てきたのがこちらですね。他のサイトでもよく紹介されていたので、一番忘れがちなことではないでしょうか。解決方法2:Xdebug.logを有効化
これは直接の解決方法ではありませんが、上のログを出力させることで何か手掛かりがあるかもしれません。
;参考サイトでは消されているが、これを有効化。また出力先をわかりやすくフォルダ直下にする
; xdebug.log = /tmp/xdebug.log
xdebug.log = ./xdebug.log
解決方法3:Xdebug2もしくは3の設定方法に合わせていない
参考サイト
PHPのバージョンと合わせて確認しましょう。
以上です。ご覧いただきありがとうございました。
Discussion