在 Netbeans 中使用 XDebug 调试 PHP

Posted

技术标签:

【中文标题】在 Netbeans 中使用 XDebug 调试 PHP【英文标题】:Debug PHP with XDebug in Netbeans 【发布时间】:2014-05-21 03:37:35 【问题描述】:

我正在尝试在 MAMP 3.0.3 (php 5.5.10) 服务器上使用 Netbeans 8(使用 Java 1.8.0)调试 PHP 代码,整个过程在 Mac OS X 10.9.2 上运行。但是当我启动调试时,Netbeans 会显示一个进度条,上面写着“等待连接(netbeans-xdebug)”。它永远不会停止,所以我想它永远不会建立联系。当然,我的 webapp 的执行永远不会在我的断点处停止。

这里是我的 php.ini 中的 xdebug 配置:

[xdebug]
zend_extension="/Applications/MAMP/bin/php/php5.5.10/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so"
xdebug.default_enable=1
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=on
xdebug.idekey="netbeans-xdebug"
xdebug.remote_log="/Applications/MAMP/logs/xdebug_remote.log"

我尝试了很多在论坛上找到的东西,甚至在 *** 上找到的东西,但没有任何效果。其中:更改端口(在php.ini和Netbeans中的debug conf中),将localhost更改为127.0.0.1或我的真实IP,注释掉远程主机,检查我的时区是否在php.ini中设置(确实如此),用参数XDEBUG_SESSION_START=netbeans-xdebug 加载我的 waebapp 等等。

有什么想法吗?在这一点上,我愿意接受任何建议......

【问题讨论】:

【参考方案1】:

仔细检查您的路径映射。 https://blogs.oracle.com/netbeansphp/entry/path_mapping_in_php_debugger

然后下载 PHPStorm 试用版,看看它是如何工作的。如果它工作正常,请考虑切换到它。老实说,我不想变得聪明,我认为这是解决这个问题的有效方法。

http://www.jetbrains.com/phpstorm/

http://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm

【讨论】:

我尝试了路径映射,使用您指出的oracle博客文章中的信息,它仍然不起作用。 PhpStorm 可能是一个解决方案,但我真的怀疑我的雇主是否准备好投资许可证......【参考方案2】:

我在 Netbeans 配置中添加了一个 webroot 和一个索引文件(从同事的配置中复制,工作正常),现在它可以工作了。我不会假装我真的明白为什么。看起来真的很脆弱,所以我不会为了理解而乱来......

【讨论】:

以上是关于在 Netbeans 中使用 XDebug 调试 PHP的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 Netbeans 7.0 和 XDebug 调试控制器代码

netbeans工具使用xdebug断点调试php源码

使用 xdebug 和 netbeans 调试 php-cli 脚本?

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

使用 xdebug 和 netbeans 调试 CakePHP 2.4 应用程序不起作用

NetBeans配置Xdebug 远程调试PHP