我正在尝试在MAMP 3.0.3(PHP 5.5.10)服务器上使用Netbeans 8(Java 1.8.0)调试PHP代码,整个事情在Mac OS X 10.9.2上运行。但是当我启动调试时,Netbeans 会显示一个进度条,上面写着"正在等待连接 (netbeans-xdebug)"。它永远不会停止,所以我想它永远不会得到连接。当然,我的 Web 应用程序的执行永远不会在我的断点上停止。
这是我的 php 中的 xdebug 配置.ini:
[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 中的调试会议),将本地主机更改为 127.0.0.1 或我的真实 IP,注释掉远程主机,检查我的时区是否在 php 中设置.ini(确实如此),使用参数XDEBUG_SESSION_START=netbeans-xdebug
加载我的 waebapp 等等。
知道吗?在这一点上,我愿意接受任何建议...
仔细检查路径映射。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
我在 Netbeans 配置中添加了一个 webroot 和一个索引文件(从同事的配置复制,它工作正常),现在,它可以工作了。我不会假装我真的明白为什么。看起来真的很脆弱,所以我不会为了理解而惹它......