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

时间:2012-04-17 14:37:55

标签: 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_host =“localhost”

     

xdebug.remote_port = 9000

但是,当我启动Netbeans调试会话时,它会循环一段时间而不起作用。当我停止它时,我收到信息框告知我“在 nn 秒内没有检测到xdebug的连接。原因可能是 xdebug未安装或未正确配置。” / strong>(他们的重点)。

据我所知,我正确配置了所有内容,重新启动了Apache服务器,但它仍无效。我完全不知道如何继续。任何帮助表示赞赏。

5 个答案:

答案 0 :(得分:3)

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

以下是摘要:

  

创建PHP项目并将NetBeans项目站点root设置为子文件夹。   (为了不为任何新任务注册Apache新测试站点我   将每个新任务放入我的本地测试域下的子文件夹中,例如   http://test.my/project3/)。 NetBeans不会启动调试会话   在这种情况下自动。你会看到'等待连接'   来自下图的消息。别担心。保持原样。去   你的浏览器。我使用FireFox 4.并调用您想要调试的脚本   附加参数,例如   http://test.my/project3/index.php?XDEBUG_SESSION_START=netbeans-xdebug

     

当您返回NetBeans时,您将看到与xdebug的连接   成功建立。要手动停止XDebug会话,请调用any   来自与此参数相同的子目录中的脚本   ?XDEBUG_SESSION_STOP_NO_EXEC = netbeans的-Xdebug的

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

上找到

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

答案 1 :(得分:2)

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

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

我被设置为“不要打开Web浏览器”..... 现在它的工作方式与以前的工作方式相同:)

答案 2 :(得分: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项目,并选择刚刚在htdocs文件夹中复制的文件夹。将其设置为在本地Web服务器上运行。

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

那就是它。

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

答案 3 :(得分:0)

我认为你可能缺少的是

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

答案 4 :(得分:-1)

  1. 阅读XAMPP 1.7.7&的安装信息。 Netbeans 7.1带有edditing 建议的php.ini文件: http://netbeans.org/kb/docs/php/configure-php-environment-windows.html

  2. 在本地XAMPP目录中创建您的PHP项目c:\xammp\htdocs\*yourproject*

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

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