Xdebug&x2B;XAMPP+;Netbeans=失败。无法使调试器在Netbeans中工作

Xdebug&x2B;XAMPP+;Netbeans=失败。无法使调试器在Netbeans中工作,xampp,xdebug,netbeans-7,Xampp,Xdebug,Netbeans 7,我已经阅读了关于这个话题的其他问题。列出的解决方案不起作用 已安装: XAMPP 1.7.7 Netbeans 7.1.1 XDebug 2.1.4 phpinfo()显示Xdebug安装时具有所有正确的参数: zend_extension=C:\xampp\php\ext\php_xdebug-2.1.4-5.3-vc9.dll xdebug.remote_enable=on xdebug.remote_handler=“dbgp” xdebug.remote\u host=“localhos

我已经阅读了关于这个话题的其他问题。列出的解决方案不起作用

已安装:

XAMPP 1.7.7

Netbeans 7.1.1

XDebug 2.1.4

phpinfo()显示Xdebug安装时具有所有正确的参数:

zend_extension=C:\xampp\php\ext\php_xdebug-2.1.4-5.3-vc9.dll

xdebug.remote_enable=on

xdebug.remote_handler=“dbgp”

xdebug.remote\u host=“localhost”

xdebug.remote_端口=9000

但是,当我启动Netbeans调试会话时,它会循环一段时间而没有效果。当我停止它时,我会收到信息框,通知我“在nn秒内未检测到与xdebug的连接。原因可能是xdebug未安装或未正确配置。(其重点)


据我所知,我正确配置了所有东西,重新启动了Apache服务器,但仍然无法正常工作。我完全不知道如何继续。非常感谢您的帮助。

您能相信吗!?在花了几个小时研究这个问题后,我终于找到了我只能归类为错误的原因。现在,我如何报告一个bug?这是下一个问题

以下是总结:

创建PHP项目并将NetBeans项目站点根目录设置为子文件夹。 (为了不为任何新任务注册Apache新测试站点,我 将每个新任务放入本地测试域下的子文件夹中,例如。 ).NetBeans将不会启动调试会话 在这种情况下自动。您将看到“正在等待连接” 来自下图的消息。不要担心。保持原样。转到 您的浏览器。我使用FireFox 4。并调用您希望调试的脚本 带有附加参数,例如。

当您返回到NetBeans时,您将看到与xdebug的连接 已成功建立。若要手动停止XDebug会话,请调用 来自具有此参数的同一子目录的脚本 XDEBUG\u SESSION\u STOP\u NO\u EXEC=netbeans XDEBUG

完整的解决方案可以在我最新的英雄博客上找到

编辑:知道我刚刚发现了什么吗?我删除了index.php作为我的运行配置的索引文件。工作起来就像一个符咒,无需手动插入url的xdebug部分

  • 阅读带有edditing的XAMPP 1.7.7和Netbeans 7.1的安装 建议使用php.ini文件:

  • 在本地XAMPP目录中创建PHP项目,
    c:\xammp\htdocs\*yourproject*

  • 调试index.php,您将看到浏览器将以附加参数启动:
    http://*yourproject*/index.php?XDEBUG\u SESSION\u START=netbeansxdebug

  • 转到Netbeans,调试器将启动


  • 我刚刚在Netbeans 8中遇到了这个问题,当您的答案解决了我的问题时,我想我找到了解决方案,可以永远解决这个问题

    项目属性=>运行配置=>高级。。。 确保选择了以下条目 调试URL:“默认:您的URL”

    我的设置为“不打开Web浏览器”。。。。。
    现在它的工作原理与几个月前一样:)

    我是一名.Net程序员,对PHP非常陌生。最近我试图在我的机器(Windows)上托管一个开源PHP应用程序。经过5-6天的努力,我将列出对我有效的步骤

    我卸载了以前所有的XAMPP和NetBeans安装,并继续进行新的安装

    这可能不是每个人的解决方案,但它对我有效,我希望它能帮助别人

    安装XAMPP

    安装PHP的netbeans

    打开IIS并停止它。默认情况下,它在端口80上运行。(我在端口80上运行XAMPP,即默认情况下,在其他端口上运行可能需要其他配置设置)

    打开XAMPP控制面板并启动Apache。如果端口80可用,则不会出现任何问题

    在浏览器中打开localhost应显示XAMPP主页

    打开左侧窗格上的phpinfo()链接,复制页面上的所有内容。转到:并将所有内容粘贴到文本框中,然后单击“分析我的phpinfo输出”。它将显示适合您的配置的Xdebug文件

    下载给定的Xdebug dll并将其复制到C:\xampp\php\ext中(xampp是默认的xampp安装目录)

    转到XAMPP控制面板,单击Apache前面的Config按钮并选择php.in

    发现线条相似或非常相似

    ;zend_extension=“C:\xampp\php\ext\php\uxdebug.dll”

    (分号表示已注释)

    删除分号并将路径替换为刚才复制的dll路径,如下所示:

    zend_extension=“C:\xampp\php\ext\php\uxdebug-2.3.2-5.4-vc9.dll”

    类似地,寻找线条 ;xdebug.remote_enable=0;xdebug.remote_handler=“dbgp”

    删除两行前面的分号,并使remote_enable=1

    xdebug.remote\u enable=1 xdebug.remote\u handler=“dbgp”

    重新启动Apache服务器

    在C:/XAMPP/htdocs/(您的_网站)/下复制您的网站代码,这意味着您的index.php应该位于C:/XAMPP/htdocs/(您的_网站)/index.php

    打开Netbeans,从现有源代码中选择New project->PHP->PHP project,然后选择您刚刚在htdocs文件夹中复制的文件夹。将其设置为在本地web服务器上运行

    在index.php的第一行设置断点并调试

    就这样


    在各种不同的帖子上建议了额外的设置,但上面提到的步骤对我来说非常有效。

    我想你可能缺少的是

    xdebug.idekey=netbeans-xdebug
    
    这是我在php.ini中使用的设置

    xdebug.remote_enable=1
    xdebug.remote_handler=dbgp
    xdebug.remote_mode=req
    xdebug.remote_host=127.0.0.1
    xdebug.remote_connect_back=1    # Not safe for production servers
    xdebug.remote_port=9000
    xdebug.idekey=netbeans-xdebug
    xdebug.remote_autostart=false
    

    创建调试日志(请参阅)并查看xdebug是否尝试连接…尝试将其添加到php.ini:xdebug.remote_log=“c:/xampp/tmp/bp edi.txt”。重新启动apache,启动调试器,运行几秒钟,然后停止。无日志文件。:(验证通过测试程序正确安装了xdebug。将日志文件位置更改为xdebug.remote_log=”c:\xampp\apache\logs\xdebug\u remote”