首页 文章

Xdebug XAMPP Netbeans =失败 . 无法让调试器在Netbeans中工作

提问于
浏览
2

我已经阅读了有关此主题的其他问题 . 列出的解决方案没有奏效 .

安装:

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_host =“localhost”xdebug.remote_port = 9000

但是,当我启动Netbeans调试会话时,它会循环一段时间而不起作用 . 当我停止它时,我收到信息框通知我“在nn秒内没有检测到xdebug的连接 . 原因可能是 xdebug is not installed or not properly configured. (他们的重点) .

据我所知,我正确配置了一切,重新启动了Apache服务器,它仍然无法正常工作 . 我完全不知道如何继续 . 任何帮助表示赞赏 .

5 回答

  • 1

    你相信吗!?在花费HOURS研究这个问题之后,我终于找到了原因,我只能把它归类为一个bug . 现在,我该如何报告错误?那是下一个问题 .

    这是一个总结:

    创建PHP项目并将NetBeans项目站点根目录设置为子文件夹 . (为了不为任何新任务注册Apache新测试站点,我将每个新任务放入我本地测试域下的子文件夹,例如http://test.my/project3/) . 在这种情况下,NetBeans不会自动启动调试会话 . 您将在下面的图片中看到“等待连接”消息 . 别担心 . 保持原样 . 转到您的浏览器 . 我使用FireFox 4.并使用其他参数调用您希望调试的脚本,例如http://test.my/project3/index.php?XDEBUG_SESSION_START=netbeans-xdebug返回NetBeans时,您将看到与xdebug的连接已成功 Build . 要使用此参数手动调用来自同一子目录的任何脚本,要停止XDebug会话吗?XDEBUG_SESSION_STOP_NO_EXEC = netbeans-xdebug

    完整的解决方案可以在我最新的英雄博客上找到NetBeans 7.0 for PHP Waiting for Connection to XDebug

    编辑:知道我刚刚发现了什么?我删除了index.php作为运行配置的索引文件 . 像魅力一样工作,无需手动插入网址的xdebug部分 .

  • 3

    我刚刚使用Netbeans 8遇到了这个问题,而你的答案解决了我的问题,我想我找到了解决方案,它将永远解决它 .

    项目属性=>运行配置=>高级...确保选中以下条目调试URL:'默认:您的URL'

    我被设置为“不要打开Web浏览器”.....现在它的工作原理,因为它曾经在很多个月前工作:)

  • -1

    我是一名.Net程序员,也是PHP的新手 . 最近我试图在我的机器(Windows)上托管一个开源的PHP应用程序 . 经过5-6天的斗争后,我将列出对我有用的步骤 .

    我卸载了之前安装的每个XAMPP和NetBeans,并继续进行全新安装 .

    这可能不是每个人的解决方案,但它对我有用,我希望它可以帮助某人 .

    安装XAMPP

    为PHP安装netbeans .

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

    打开XAMPP控制面板并启动Apache . 如果端口80是空闲的,则不会出现问题 .

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

    在左窗格中打开phpinfo()链接并复制页面上的所有内容 . 转到:http://xdebug.org/wizard.php并粘贴TextBox中的所有内容,然后单击Analyze my phpinfo output . 它会显示适合您配置的Xdebug文件 .

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

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

    查找类似或类似的行,

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

    (分号意味着它被评论)

    删除分号并使用刚才复制的dll路径替换路径,如:

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

    类似地找到行; xdebug.remote_enable = 0; xdebug.remote_handler =“dbgp”

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

    xdebug.remote_enable = 1 xdebug.remote_handler =“dbgp”

    重启Apache服务器 .

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

    Open Netbeans从现有源中选择New project - > PHP - > PHP project,然后选择刚刚在htdocs文件夹中复制的文件夹 . 将其设置为在本地Web服务器上运行 .

    在index.php的第一行和debug上设置断点 .

    而已 .

    在各种不同的帖子上建议了其他设置,但上述步骤对我来说非常合适 .

  • 2

    我想你可能缺少的是

    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
    
  • 0
    • 阅读XAMPP 1.7.7和Netbeans的安装7.1按照建议编辑php.ini文件:http://netbeans.org/kb/docs/php/configure-php-environment-windows.html

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

    • 调试index.php,您将看到您的浏览器将以其他参数开头: http://*yourproject*/index.php?XDEBUG_SESSION_START=netbeans-xdebug

    • 转到Netbeans,您的调试器将启动 .

相关问题