2

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

安装:

XAMPP 1.7.7

网豆 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 = "本地主机"

xdebug.remote_port = 9000

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

据我所知,我正确配置了所有内容,重新启动了 Apache 服务器,但它仍然无法正常工作。我完全不知道如何进行。任何帮助表示赞赏。

4

5 回答 5

3

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

这是一个摘要:

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

当您返回 NetBeans 时,您将看到与 xdebug 的连接已成功建立。要停止 XDebug 会话,请使用此参数从同一子目录手动调用任何脚本 ?XDEBUG_SESSION_STOP_NO_EXEC=netbeans-xdebug

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

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

于 2012-04-18T19:52:51.303 回答
2

我刚刚使用 Netbeans 8 遇到了这个问题,虽然你的回答解决了我的问题,但我想我找到了可以永远解决它的解决方案。

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

我的设置为“请勿打开 Web 浏览器”......现在它可以像几个月前一样工作了 :)

于 2014-09-10T07:54:24.910 回答
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 中,然后单击分析我的 phpinfo 输出。它将显示适合您配置的 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

打开 Netbeans 选择 New project -> PHP -> PHP project from existing source 并选择您刚刚在 htdocs 文件夹中复制的文件夹。将其设置为在本地 Web 服务器上运行。

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

就是这样。

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

于 2015-05-30T07:09:10.337 回答
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
于 2017-11-04T09:04:22.057 回答
-1
  1. 阅读 XAMPP 1.7.7 和 Netbeans 7.1 的安装,并按照建议编辑 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,您的调试器将启动。

于 2012-05-24T21:58:05.063 回答