netbeans xdebug等待连接尽管通过所有论坛答案

时间:2017-09-14 19:55:50

标签: php mysql netbeans xampp

使用netbeans调试器时,我收到消息“等待连接(netbeans-xdebug)”。

我正在使用: Windows 10 XAMPP for Windows 5.6.20 XAMPP控制面板v3.2.2 NetBeans IDE 8.0.2

我已经围绕论坛答案了几天尝试一切,但已经画了一个空白。

php.ini中的代码是:

> [XDebug]
; Only Zend OR (!) XDebug
zend_extension = c:\xampp\php\ext\php_xdebug-2.5.4-5.6-vc11.dll
xdebug.remote_autostart=on
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9001
xdebug.remote_handler="dbgp"
xdebug.profiler_enable=1
xdebug.profiler_output_dir="c:\xampp\tmp"
xdebug.remote_mode=req
xdebug.idekey="netbeans-xdebug"

我已尝试过上述各种参数组合。

我在netbeans中使用的端口是: 项目属性>运行配置>高级:9001 Netbeans>工具>选项> PHP>调试:9001

调试器使用Chrome浏览器是否很重要,但我的phpmyAdmin和XAMPP的主屏幕是否在IE上?

3 个答案:

答案 0 :(得分:2)

我不确定Windows,但是在Linux上的更高版本的PHP中(从至少5.4开始)xdebug配置在一个单独的文件中。我在:

/etc/php/7.0/apache2/conf.d/20-xdebug.ini

如果您没有专用的xdebug ini文件,请确保您正在编辑正确的php.ini。在我的系统中有3个:

/etc/php/7.0/apache2/php.ini
/etc/php/7.0/cli/php.ini
/etc/php/7.0/phpdbg/php.ini

这是我的xdebug配置:

xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.show_local_vars=on

一些注意事项:

  1. 我看到你的港口与我的不同(9000对9001)。转到工具 - >选项 - > PHP,在"调试"选项卡确保"调试器端口"对应于xdebug.remote_port中指定的那个。

  2. 尝试使用localhost而不是127.0.0.1

  3. 确保phpinfo()的输出包含有关xdebug的信息。如果你没有" xdebug"您可能需要检查zend_extension路径。

  4. 我记得在NetBeans邮件列表上看到有些人遇到了Windows防火墙引起的问题,也许你可以尝试禁用它。

答案 1 :(得分:1)

很多人面临同样的问题。这个可怕的错误/错误似乎来自Netbeans本身而不是来自X-Debug。我也遇到了与Netbeans相同的问题。

您的php.ini文件配置看起来不错。试试@paolosca's answer。如果这不起作用,请尝试以下建议。

在Netbeans中右键单击您的项目名称后,选择属性 - > 运行配置

现在您将看到项目运行配置。选择索引文件(例如,index.php)然后在参数字段传递

XDEBUG_SESSION_START=netbeans-xdebug

作为index.php文件的参数。你应该开始调试PHP代码。

如果您认为这是一个很长的路,您可以直接传递如下的参数。假设你有网址,

http://localhost/foo-project/index.php

然后在浏览器的url窗口中传递这样的参数

http://localhost/foo-project/index.php?XDEBUG_SESSION_START=netbeans-xdebug

然后按Enter键。

回答你的上一个问题

  

调试器使用Chrome浏览器是否很重要,但我的phpmyAdmin和XAMPP的主屏幕是否在IE上?

我不这么认为。

答案 2 :(得分:0)

如果上述方法没有帮助,将来可能会对某人有所帮助。在Windows 10中关闭Windows Defender中的“个人网络防火墙”:

控制面板\系统和安全性\ Windows Defender防火墙

经过数小时的尝试,所有事情都没有成功,终于为我做到了!!