【发布时间】:2011-12-09 16:02:09
【问题描述】:
我在 PhpStorm 和 Mamp 中成功使用了 XDebug,但现在我想尝试在项目中使用 NetBeans。但我无法让 NetBeans 连接到 XDebug。它只是等到我停止调试器,然后我收到一条消息说 NetBeans 从未连接到 XDebug,它要求我检查 php.ini 中的设置。
现在,正如我所说,它在 PhpStorm 上运行良好,所以我认为 php.ini 中的设置应该没有什么问题,但无论如何,它们在这里:
[xdebug]
zend_extension="/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000
我觉得奇怪的一件事是,每个人都在谈论 php.ini 位于 /Applications/Mamp/conf 中,但在那个文件夹中,至少我的设置中没有 php.ini。另一方面,在 /Applications/Mamp/bin/php/php5.3.6/conf 中有。所以这是我修改的那个。而且由于它在 PhpStorm 中有效,我认为它一定是正确的......
但是,为什么 NetBeans 不能连接?我还使用 Safari 的 XDebug 插件将其连接到浏览器中。 NetBeans 中的端口设置为 9000,如 php.ini 文件中所示。
我使用的是 NetBeans 7.0.1 和 php5.3.6。
我还有什么遗漏的吗?
编辑:
好吧,我发现了为什么 XDebug 仍然无法连接的问题:我正在使用 XDebug 的 Safari 插件,显然它有自己的 IDE Key 设置,设置为 1,而 NetBeans 有 netbeans- xdebug 集。一旦我在加载项中将其更改为后者,我就建立了连接。问题是我仍然遇到某种错误。它说:我打调试器时找不到404页面,地址字段中的地址是:http://localhost/app_netbeans/index.php?XDEBUG_SESSION_START=netbeans-xdebug
知道这里发生了什么吗?
顺便说一句,只需在 NetBeans 中点击运行即可正常工作并打开 http://localhost/app_netbeans(我已使用 mod_rewrite 删除 CodeIgniter 中 url 的 index.php 部分)
编辑 2: 我发现地址的index.php部分是因为在NetBeans的运行配置中有一个“索引文件”设置默认设置为index.php。如果我删除它以使 CodeIgniter “控制器” url 没有 index.php,我得到了正确的 url,但在它之后附加了 xdebu 的东西。但是当我使用调试器命令时仍然找不到 404 页面,但当我使用运行命令时却没有。
奇怪的是,我可以做的是我可以点击调试,忽略它进入 404 页面未找到的事实,然后返回 IDE,点击运行,如果我设置了断点,它将在那个断点处停止.
但同样,这并不是我认为正常的调试行为......所以如果有人知道发生了什么,我很想听听......
【问题讨论】:
-
没有评论的vodedown...?那是怎么回事?如果我的问题有问题,我不介意vodedowns,但请说出问题所在,不管是谁做的。