【发布时间】:2021-03-06 12:14:34
【问题描述】:
遇到问题,我需要开始工作。我很难让 NetBeans 12.2 连接到 Xdebug。当我尝试调试时,我得到了可怕的“等待连接(netbeans-xdebug)”,它永远不会连接。我正在运行以下命令:
- PHP 版本 8.0.2
- Apache 2.4.46
- Xdebug 3.0.3
我已经阅读了其他一些主题,例如
但它们适用于旧版本的 Xdebug,并且解决方案似乎不起作用/命令不一样。在阅读了文档并阅读了另一个威胁中的解决方案后,我的 php.ini 文件最后有这个:
[xdebug]
zend_extension = C:\xampp\php\ext\php_xdebug-3.0.3-8.0-vs16-x86_64.dll
xdebug.client_port = 9003
xdebug.remote_handler = "dbgp"
xdebug.client_host = "localhost"
xdebug.mode=debug
xdebug.start_with_request=yes
当我单击调试并运行 netstat 时,我可以看到端口 9003 正在侦听,但由于某种原因,它无法连接。我需要这个工作,所以我希望有人可以帮助一个菜鸟吗?最好的问候。
【问题讨论】:
-
1) Xdebug 连接到 IDE(在您的情况下为 NetBeans),而不是其他方式。请检查文档。 2) 启用 Xdebug 日志,尝试调试并查看它的内容。 youtube.com/watch?v=IN6ihpJSFDw / learnxdebug.com 3) "xdebug.remote_handler = "dbgp"" 这不是必需的——它来自 v2,在 v3 上什么也不做(即使在 2.9.x 中也不做)—— xdebug.org/docs/upgrade_guide
-
@LazyOne 谢谢。我检查了我的错误“[15920] [Step Debug] ERR:连接到调试客户端超时,等待:200 毫秒。尝试:localhost:9003(通过 xdebug.client_host/xdebug.client_port):-(”的解决方案这里xdebug.org/docs/errors#DBG-E-TIMEOUT。我能得到的最好的功能是第一次打开IDE时的连接,但后来它似乎挂了。另一个用户在这里描述了这个问题:stackoverflow.com/questions/66284710/…他帖子末尾的日志是一样的和我一样。有什么建议吗?最好的问候。
-
1) 如果显示“连接到调试客户端超时”,则表示没有人在 Xdebug 端口上监听。使用
netstat -a -b -n并显示当时正在侦听 TCP 9003 端口的应用程序。如果没有 - 那么好吧,这就是答案 - 确保它在那一刻倾听。如果它应该监听——检查防火墙/任何互联网安全防病毒软件等。 -
2) 如果日志显示它已连接但没有响应......那么它一定是一些 NetBeans 问题。 Xdebug v2 和 v3 中的协议是相同的,所以它应该可以正常工作。那么必须是 NetBeans 本身......我正在使用 PhpStorm 和 Xdebug v3 在 1 岁的 2020.1 版本中为我工作(这是我对 2020.2 版本的证明:stackoverflow.com/a/64820427/783119;自 2020.3 起正式支持 Xdebug v3)
-
Netbeans 正在监听:TCP 0.0.0.0:9003 0.0.0.0:0 LISTENING [netbeans64.exe]。我认为防火墙设置正确,可能是 Netbeans 问题。除非有人回答其他线程,否则我认为这是我能做到的!感谢@LazyOne 的帮助,我可能不得不使用另一个 IDE。