使用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上?
答案 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
一些注意事项:
我看到你的港口与我的不同(9000对9001)。转到工具 - >选项 - > PHP,在"调试"选项卡确保"调试器端口"对应于xdebug.remote_port中指定的那个。
尝试使用localhost而不是127.0.0.1
确保phpinfo()的输出包含有关xdebug的信息。如果你没有" xdebug"您可能需要检查zend_extension路径。
我记得在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防火墙
经过数小时的尝试,所有事情都没有成功,终于为我做到了!!