Xdebug 配置

问题描述

我是 PHP 新手,为了远程学校的目的,我需要将 Xdebug 与 netbeans 一起使用。

我的 PHP 版本是 7.3.21,我在 Wamp 上使用它。 Netbeans 是 11.1 版本。

我安装了 wamp 和 xdebug 的最新更新,问题是当我在 netbeans 中运行调试器时,xdebug 没有加载并保持此状态运行:

enter image description here

所以我调查了 xdebug 似乎安装了,你可以在这里看到(点击 wamp -> PHP -> 配置):

enter image description here

这里(从点击 wamp -> PHP -> 扩展):

enter image description here

看起来一切正常,但仍然无法正常工作。因此,我使用 PHPinfo() 函数检查 https://xdebug.org/wizard,将返回值粘贴到 textarea 中,这是状态:

enter image description here

我检查了一切,这是我的 PHP.ini 文件

enter image description here

在这种情况下,使用调试器在 html 页面上向我显示信息,如下图所示,但由于“等待连接 (netbeans-xdebug)...”,我无法检查 netbeans 中的变量...

enter image description here

我尝试使用“localhost”而不是我的 IPv4 地址,并使用“ext”而不是“zend_ext”,但 html 页面不再为我提供信息。

此外,奇怪的是,当我从 https://xdebug.org/wizard 复制粘贴 PHP -i 结果到 textarea 时,它告诉我没有安装 xdebug .....

enter image description here

我检查并尝试了来自 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 和所有相关内容的新手,如果我的问题“愚蠢”,对不起。

enter image description here

解决方法

XDebug 3 仍然很新,看来您的 ini 文件中的 xdebug-configuration 仍在使用 XDebug 2 的配置名称。幸运的是,XDebug 提供了一个 upgrade guide,您应该根据.

我的第一个猜测是您使用了错误的端口,因为 XDebug 3 默认使用端口 9003,而您期望在 NetBeans 中使用端口 9000

所以你可以:

  1. 在 NetBeans 中侦听端口 9003 或
  2. 在您的 ini 文件中将 xdebug.client_port 设置为 9000。 (而不是 xdebug.remote_port,请参阅上面链接的升级指南)

请记住,您应该阅读所有配置设置的升级指南,以确保 XDebug 确实按照您的意愿行事。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...