如何使用Netbeans和Xdebug调试PHP

15

我最近尝试使用Netbeans 6.5,因为它在Smashing magazine的IDE评论中得分很高。 http://www.smashingmagazine.com/2009/02/11/the-big-php-ides-test-why-use-oneand-which-to-choose/

我从Notepad++转换的主要原因是我想能够调试我的代码并逐步执行它。

我已经按照来自供应商http://xdebug.org/和Netbeans网站 http://www.netbeans.org/kb/docs/php/debugging.html#gettingReady 的说明进行了xdebug的安装,但没有成功。

怎么做呢?有其他人已经在netbeans中进行了调试吗?

(我的设置是:Windows XP,Wamp服务器2.0,PHP 5,Netbeans 6.5.1)


在你浪费很多时间试图弄清楚如何让Netbeans调试与mod_rewrite一起工作之前,请注意,它不会。请参见http://netbeans.org/bugzilla/show_bug.cgi?id=152262。但是,它可以与命令行和.php文件一起使用。 - cbednarski
3
FYI,得到三个踩的那个人,也就是Derick Rethans,是Xdebug的作者。他不是母语为英语的人,所以提供给您参考。 - joedevon
16个回答

0

0

0

如果你遇到了Apache在运行调试器时崩溃的问题(这也是我遇到的问题,非常烦人),我相当确定我重新安装了xampp并重新设置了xdebug。我认为问题与php.ini中奇怪地设置了zend-debugger有关,而我没有修改正确的php.ini文件。

最终,在重新安装和重置后,我成功地让它正常工作了。

现在,我使用Netbeans的开发版本,它具有与xdebug的网络调试功能,因此我们都从开发服务器上运行它,效果很好。

祝好运,目前没有特别好的文档介绍如何在Netbeans中设置xdebug。


0
在Ubuntu下运行NetBeans时,我也遇到了这个问题。看起来我已经尝试了互联网上找到的所有解决方案,但都毫无结果。
最后唯一有效的方法是使用SUDO命令运行NetBeans!似乎普通用户没有权限监听9000端口(或任何其他端口)。
sudo netbeans &

......然后,我又可以进行调试了!也许这能为你节省一两天的时间。


0
在我的情况下,是一个运行在我的机器上(Windows 7)的进程正在使用端口9000,它已经被称为aeagent.exe。
我将我的php.ini设置更改为“xdebug.remote_port=9001”,在NetBeans中进行相应的更改,然后重新启动Apache。现在它可以工作了。
感谢SysInternals TCPView工具。

0
现在终于可以工作了,在 Windows8 上安装 Wamp 2.2 进行 xdebug 调试,浪费了 3 小时。使用以下内容替换原始的 [xdebug] 行即可:
    zend_extension = "c:/wamp/bin/php/php5.3.13/zend_ext/php_xdebug-2.2.0-5.3-vc9.dll"
    ;make sure path of your own php_xdebug, dll version may vary.

    [xdebug]

    xdebug.remote_enable = on
    xdebug.remote_handler=dbgp
    xdebug.remote_host=localhost
    xdebug.remote_port=9000
;recheck your port number in netbeans [Tools=>options=>php=>debugging there it is: debugging port]
    xdebug.profiler_enable = on
    xdebug.profiler_enable_trigger = on
    xdebug.profiler_output_name = cachegrind.out.%t.%p
    xdebug.profiler_output_dir = "c:/wamp/tmp"

现在点击任务栏中的Wamp图标,选择“重新启动所有服务”

好了……现在最后一步>>以管理员身份启动NetBeans Windows8的神灵啊,我讨厌你 :<


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接