问题描述
我是 PHP 新手,为了远程学校的目的,我需要将 Xdebug 与 netbeans 一起使用。
我的 PHP 版本是 7.3.21,我在 Wamp 上使用它。 Netbeans 是 11.1 版本。
我安装了 wamp 和 xdebug 的最新更新,问题是当我在 netbeans 中运行调试器时,xdebug 没有加载并保持此状态运行:
所以我调查了 xdebug 似乎安装了,你可以在这里看到(点击 wamp -> PHP -> 配置):
这里(从点击 wamp -> PHP -> 扩展):
看起来一切正常,但仍然无法正常工作。因此,我使用 PHPinfo() 函数检查 https://xdebug.org/wizard,将返回值粘贴到 textarea 中,这是状态:
在这种情况下,使用调试器在 html 页面上向我显示信息,如下图所示,但由于“等待连接 (netbeans-xdebug)...”,我无法检查 netbeans 中的变量...
我尝试使用“localhost”而不是我的 IPv4 地址,并使用“ext”而不是“zend_ext”,但 html 页面不再为我提供信息。
此外,奇怪的是,当我从 https://xdebug.org/wizard 复制粘贴 PHP -i 结果到 textarea 时,它告诉我没有安装 xdebug .....
我检查并尝试了来自 stackoverflow 的许多帖子的解决方案,但没有任何效果,我不知道该怎么做,所以如果你们中的任何人能帮助我,我们将不胜感激。
谢谢
编辑:感谢 Arsen 的回答,我尝试了您的两个建议并遵循了升级指南,但没有一个有效。这是我的 PHP.ini 文件,我对其进行了大量修改,以至于无法恢复到基本配置..
是否应该卸载 wamp 并重新安装?
我有一个 5.6.40 PHP 版本,预装的 xdebug 2.5 版本在 netbeans 中运行。 问题是我必须修改用 PHP 7 编写的应用程序并使用 PHPUnit / PHPDocumentor / codeSniffer。您认为使用 e 5.6.40 PHP 版本可以吗?
再说一次,我是 PHP/wamp 和所有相关内容的新手,如果我的问题“愚蠢”,对不起。
解决方法
XDebug 3 仍然很新,看来您的 ini 文件中的 xdebug-configuration 仍在使用 XDebug 2 的配置名称。幸运的是,XDebug 提供了一个 upgrade guide,您应该根据.
我的第一个猜测是您使用了错误的端口,因为 XDebug 3 默认使用端口 9003
,而您期望在 NetBeans 中使用端口 9000
。
所以你可以:
- 在 NetBeans 中侦听端口 9003 或
- 在您的 ini 文件中将
xdebug.client_port
设置为 9000。 (而不是xdebug.remote_port
,请参阅上面链接的升级指南)
请记住,您应该阅读所有配置设置的升级指南,以确保 XDebug 确实按照您的意愿行事。