如何使用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个回答

11

在 php.ini 中添加这行内容是很重要的:

xdebug.idekey="netbeans-xdebug"

注意:在NetBeans中进入设置并查找xdebug设置的位置。查找该会话ID。在我的情况下,它是netbeans-xdebug。


6

嗯,对我来说,NetBeans是第一个可以直接使用PHP调试的IDE。

xdebug在phpinfo中有显示吗?如果有的话,它应该能够使用默认设置。唯一需要设置的是:

xdebug.remote_enable=on

如果未启用此功能,请将其添加到您的php.ini文件中,重新启动Apache,调试应该可以正常工作。

如果仍然无法正常工作,则需要提供更多信息以便我帮助您。

sy


5

3

目前没有关于xdebug在curl或mod_rewrite方面出现问题的已知情况。我所知道的唯一问题是在Vista上使用Xdebug时会出现问题。


"xdebug在curl或mod_rewrite方面存在问题" - 你能更具体一些吗? - Sk8erPeter

2

这是一份非常有用的指南。感谢您抽出时间来编写它。 - takeshin

1
我发现在Netbeans中,你需要将项目中的Web根路径设置为app/webroot。如果你这样做,调试工作将无缝进行。

1
如果您正在Windows下使用xampp:
您只需要打开您的php.ini文件并更改这两行即可。
;xdebug.profiler_enable = 0
;zend_extension = "C:\xampp\php\ext\php_xdebug.dll"

进入

xdebug.profiler_enable = 1
zend_extension = "C:\xampp\php\ext\php_xdebug.dll"

注意:如果您的xampp版本过旧,您必须从http://xdebug.org/download.php下载它,即使您的操作系统是64位,也要下载32位。例如,您下载的xdebug名称为php_xdebug-2.2.1-5.4-vc9.dll。首先将php_xdebug-2.2.1-5.4-vc9.dll复制到目录C:\xampp\php\ext\,然后您的第二行将是zend_extension = "C:\xampp\php\ext\php_xdebug-2.2.1-5.4-vc9.dll)

之后停止Apache并重新启动,就完成了。


0

好吧,错误在于遗忘

[xdebug]

作为php-ini中的一个部分标题。当然,将您的内容“停放”在另一个部分开始之前(例如[Date]或[iconv])以避免意外地将其放置在错误的部分中。(在php.ini的注释区域中,这种情况很容易发生。)

0

我偶尔会遇到NetBeans和XDebug的问题,这些问题是由于存在一个与正在调试的代码无关的Watch语句。

在这种情况下,调试器会出现Socket异常。

如果发现这是导致问题的原因,请删除任何监视。不过总的来说,我发现XDebug非常方便!

然而,我意识到这可能与您在此处遇到的问题无关,但值得注意。


0

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