在 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 调试控制器代码
使用 xdebug 和 netbeans 调试 php-cli 脚本?
Xdebug + XAMPP + Netbeans = 失败。无法让调试器在 Netbeans 中工作