VSCode + Docker 컨테이너의 PHP를 디버깅 할 때 host.docker.internal에 연결할 수없는 문제 해결
개요
VSCode에서 Docker Desktop (Windows)의 컨테이너를 디버깅 할 때 올바르게 설정하고 싶을 때 다음과 같은 오류가 발생하여 성공적으로 연결할 수없는 문제가 발생했습니다.
이 건에 대해 대처할 수 있었기 때문에 메모해 둡니다.
Xdebug: [Step Debug] Time-out connecting to debugging client, waited: 200 ms. Tried: host.docker.internal:9003 (through xdebug.client_host/xdebug.client_port) :-(
TL; DR
VSCode의 launch.json에 다음 hostname
지정이 필요했습니다.
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"hostname": "0.0.0.0", // この設定が必要
"port": 9003,
"pathMappings": {
"/app": "${workspaceRoot}"
},
"log": true
}
]
환경
이번에는 다음과 같은 구성으로 Remote Container를 사용하지 않고 WSL2의 VSCode Server와 Docker Desktop의 컨테이너간에
디버깅을 시도하는 구성이었습니다.
(별로 흔하지 않다 ...?)
VSCode Server에서 보면 host.docker.internal(자신의 환경에서는 192.168.65.2)로부터의 접속을 허가할 필요가 있기 때문에, "0.0.0.0"의 지정이 필요했을까 생각하고 있습니다만, 이 부분 잠깐 자신감이 없습니다.
xdebug.ini (XDebug3)
zend_extension=xdebug
[xdebug]
xdebug.mode=debug
xdebug.start_with_request = yes
xdebug.client_host=host.docker.internal
xdebug.log_level = 0 ;コネクション失敗のログを取りたい時は1、不要なら0などにする。https://xdebug.org/docs/all_settings#log_level
Reference
이 문제에 관하여(VSCode + Docker 컨테이너의 PHP를 디버깅 할 때 host.docker.internal에 연결할 수없는 문제 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tristar/items/6434acba715f7fe93694
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Xdebug: [Step Debug] Time-out connecting to debugging client, waited: 200 ms. Tried: host.docker.internal:9003 (through xdebug.client_host/xdebug.client_port) :-(
VSCode의 launch.json에 다음
hostname
지정이 필요했습니다.
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"hostname": "0.0.0.0", // この設定が必要
"port": 9003,
"pathMappings": {
"/app": "${workspaceRoot}"
},
"log": true
}
]
환경
이번에는 다음과 같은 구성으로 Remote Container를 사용하지 않고 WSL2의 VSCode Server와 Docker Desktop의 컨테이너간에
디버깅을 시도하는 구성이었습니다.
(별로 흔하지 않다 ...?)
VSCode Server에서 보면 host.docker.internal(자신의 환경에서는 192.168.65.2)로부터의 접속을 허가할 필요가 있기 때문에, "0.0.0.0"의 지정이 필요했을까 생각하고 있습니다만, 이 부분 잠깐 자신감이 없습니다.
xdebug.ini (XDebug3)
zend_extension=xdebug
[xdebug]
xdebug.mode=debug
xdebug.start_with_request = yes
xdebug.client_host=host.docker.internal
xdebug.log_level = 0 ;コネクション失敗のログを取りたい時は1、不要なら0などにする。https://xdebug.org/docs/all_settings#log_level
Reference
이 문제에 관하여(VSCode + Docker 컨테이너의 PHP를 디버깅 할 때 host.docker.internal에 연결할 수없는 문제 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tristar/items/6434acba715f7fe93694
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
zend_extension=xdebug
[xdebug]
xdebug.mode=debug
xdebug.start_with_request = yes
xdebug.client_host=host.docker.internal
xdebug.log_level = 0 ;コネクション失敗のログを取りたい時は1、不要なら0などにする。https://xdebug.org/docs/all_settings#log_level
Reference
이 문제에 관하여(VSCode + Docker 컨테이너의 PHP를 디버깅 할 때 host.docker.internal에 연결할 수없는 문제 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tristar/items/6434acba715f7fe93694텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)