我遇到以下问题:
我有一台运行 PHP 应用程序的服务器。它与我的本地计算机位于同一网络中。服务器地址是
192.168.0.21
。
我想在本地 IDE 中调试该服务器上的脚本。所以:
phpinfo()
- 它看到了 Xdebug。当时我无法从服务器的9003端口连接到本地机器,所以我改变了它,telnet显示我到本地机器的连接成功了。
它不会在断点处停止,它实际上不执行任何操作。我是不是错过了什么?
我多次尝试重新启动Apache,我尝试设置本地路径映射(这对我来说没有意义,但在其他网站上看到它),禁用防火墙
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 7680,
"log": true
}
]
}
[207613] Log opened at 2024-06-17 08:39:12.333867
[207613] [Step Debug] INFO: Connecting to configured address/port: 192.168.0.138:7680.
[207613] [Step Debug] INFO: Connected to debugging client: 192.168.0.138:7680 (through xdebug.client_host/xdebug.client_port). :-)
[207613] [Step Debug] -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" fileuri="dbgp://stdin" language="PHP" xdebug:language_version="8.1.2-1ubuntu2.14" protocol_version=>
[207613] [Step Debug] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>
[xdebug]
zend_extension=/usr/lib/php/20210902/xdebug.so
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=192.168.0.138
xdebug.client_port=7680
xdebug.log = /var/log/xdebug.log
xdebug.log_level=7
问题出在我的 Visual Studio 代码配置上。我不知道到底出了什么问题,但我已经设法在其他设备上设置调试器。它仍然拒绝侦听 launch.json 文件中选定的端口,一旦不再侦听该端口,xdebug 就会立即关闭连接。现在重新安装了 VS,删除了所有 C:/AppData/Roaming/Code 文件,效果非常好!