我已经尝试在 VS Code 中进行调试几个小时,并阅读了每个教程和问答,但没有成功。
我有一台使用 Turnkey Linux LAMP 和 PHP 7.4 和 Xdebug 3 的服务器。
在另一台 Windows 计算机上,我正在运行 VS Code 并正在尝试调试。
我尝试了各种设置,但目前 VS Code launch.json 看起来像这样?
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"hostname": "192.168.20.110",
"pathMappings": {
"/var/websites/test": "${workspaceFolder}/",
}
}
在服务器上,PHP.ini 看起来像这样,尽管我尝试过各种:
[xdebug]
xdebug.mode=develop,debug
xdebug.discover_client_host=1
xdebug.client_port = 9003
xdebug.start_with_request=yes
每当我按下 VS Code 中的运行按钮时,我都会收到“listen EADDRNOTAVAIL:地址不可用 192.168.20.110:9003”。
我尝试在服务器上为端口 9003 创建防火墙例外。
我已经在 Chrome 中安装了 Xdebug 扩展。
我错过了什么?
问题似乎可能与您的
launch.json
文件中指定的地址有关。错误“EADDRNOTAVAIL:地址不可用”表明指定的 IP 地址无法访问或未分配给您的服务器。
以下是一些排除和解决问题的建议:
检查服务器IP地址:
192.168.20.110
是您的 Turnkey Linux LAMP 服务器的正确 IP 地址。您可以在服务器上使用 ifconfig
或 ip a
命令检查 IP 地址。使用“localhost”或“127.0.0.1”作为主机名:
"hostname"
文件中的 launch.json
。这有时可以解决连接问题。"hostname": "localhost",
检查防火墙设置:
9003
已打开且可访问。您可能需要为此端口创建例外。验证 Xdebug 设置:
验证 PHP 进程:
phpinfo()
函数检查 Xdebug 是否已加载。检查多个 Xdebug 配置:
.ini
文件中的其他配置可能会导致冲突。重新启动服务:
查看 VS 代码输出:
尝试不同的端口:
launch.json
文件中使用其他端口。确保您选择的端口没有被防火墙阻止。"port": 9000,
检查拼写错误:
launch.json
文件中是否有任何拼写错误或语法错误。在 Chrome 中重新安装 Xdebug 扩展:
进行任何更改后,重新启动服务器并重试。如果问题仍然存在,请检查每个步骤以确保配置的准确性和一致性。