VSCode - XDebug 连接到客户端但断点不起作用
VSCode - XDebug connected to client but break points does not work
我在开发 PHP 应用程序,我想调试我的网站。
我正在 IDE VSCode Windows 10 上工作。
我使用 Docker 在 WSL2 中启动我的网站。
我已经在我的 php-fpm:7.3 容器中配置了 XDebug。
root@00376c075cd3:/var/www# php -version
PHP 7.3.18 (cli) (built: May 15 2020 13:33:15) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.18, Copyright (c) 1998-2018 Zend Technologies
with Xdebug v2.9.8, Copyright (c) 2002-2020, by Derick Rethans
在 VSCode,我已经配置了我的 launch.json 文件(扩展名为 phpdebug 来自
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000,
"pathMappings": {
"/var/www": "${workspaceFolder}/src"
}
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000,
"pathMappings": {
"/var/www": "${workspaceFolder}/src"
}
}
]
}
我在 XDebug 日志中看到它已连接。
[6] Log opened at 2020-11-24 16:48:10
[6] I: Connecting to configured address/port: localhost:9000.
[6] I: Connected to client. :-)
[6] -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" fileuri="file:///var/www/index.php" language="PHP" xdebug:language_version="7.3.18" protocol_version="1.0" appid="6" idekey="VSCODE"><engine version="2.9.8"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[https://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2020 by Derick Rethans]]></copyright></init>
[6] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>
[6] Log closed at 2020-11-24 16:48:10
我在 index.php 文件上设置了断点:breakpoints
但是我的请求在VSCode没有停止。
你能帮我完成 XDebug 配置吗?
感谢您的帮助。
此致,
安东尼
谢谢@LazyOne。
我把你的评论作为答案。 :-)
”
连接到已配置的 address/port:localhost:9000。这种设置是预期的。根据 Xdebug 日志,您必须连接到在 docker/WSL2 中运行的 php-fpm(默认情况下它也使用 9000 端口)。您需要使用主机 OS 的正确 IP(这样 Xdebug 可以从您的 docker/WSL2 连接到运行在 Windows 上的您 VSCode)。我建议查看一些关于如何在这种情况下配置 Xdebug/Docker 图像的现成指南。您也可以在此处查看可能的提示:learnxdebug.com
“
我在开发 PHP 应用程序,我想调试我的网站。 我正在 IDE VSCode Windows 10 上工作。 我使用 Docker 在 WSL2 中启动我的网站。
我已经在我的 php-fpm:7.3 容器中配置了 XDebug。
root@00376c075cd3:/var/www# php -version
PHP 7.3.18 (cli) (built: May 15 2020 13:33:15) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.18, Copyright (c) 1998-2018 Zend Technologies
with Xdebug v2.9.8, Copyright (c) 2002-2020, by Derick Rethans
在 VSCode,我已经配置了我的 launch.json 文件(扩展名为 phpdebug 来自
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000,
"pathMappings": {
"/var/www": "${workspaceFolder}/src"
}
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000,
"pathMappings": {
"/var/www": "${workspaceFolder}/src"
}
}
]
}
我在 XDebug 日志中看到它已连接。
[6] Log opened at 2020-11-24 16:48:10
[6] I: Connecting to configured address/port: localhost:9000.
[6] I: Connected to client. :-)
[6] -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" fileuri="file:///var/www/index.php" language="PHP" xdebug:language_version="7.3.18" protocol_version="1.0" appid="6" idekey="VSCODE"><engine version="2.9.8"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[https://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2020 by Derick Rethans]]></copyright></init>
[6] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>
[6] Log closed at 2020-11-24 16:48:10
我在 index.php 文件上设置了断点:breakpoints
但是我的请求在VSCode没有停止。
你能帮我完成 XDebug 配置吗?
感谢您的帮助。
此致, 安东尼
谢谢@LazyOne。 我把你的评论作为答案。 :-)
” 连接到已配置的 address/port:localhost:9000。这种设置是预期的。根据 Xdebug 日志,您必须连接到在 docker/WSL2 中运行的 php-fpm(默认情况下它也使用 9000 端口)。您需要使用主机 OS 的正确 IP(这样 Xdebug 可以从您的 docker/WSL2 连接到运行在 Windows 上的您 VSCode)。我建议查看一些关于如何在这种情况下配置 Xdebug/Docker 图像的现成指南。您也可以在此处查看可能的提示:learnxdebug.com “