我在 Ubuntu 10.04 笔记本电脑上运行 PHP 5.3.2、Apache 2.2.14 和 xdebug 2.2.0rc1,并且尝试在 Netbeans 6.8 中的本地主机上设置调试。
我的问题是我在 Netbeans 中设置的断点被忽略。否则它似乎工作正常。例如,我得到漂亮的 var_dumps、xdebug 跟踪、xdebug 远程日志,我还可以勾选该框,以便它在 PHP 脚本的第一行中断。
基于其他网站和 SO 问题(例如SO1 https://stackoverflow.com/questions/2963027/netbeans-xdebug-php-not-working, SO2 https://stackoverflow.com/questions/3422433/xdebug-ignores-breakpoints, SO3 https://stackoverflow.com/questions/2359712/remote-debugging-wont-stop-at-breakpoints)我已经检查了以下所有内容:
- 我正在编辑的 php.ini 文件正在被使用
- 该 xdebug 被加载为 zend_extension=/full/path/to/xdebug.so (而不是 extension=xdebug.so)
- PHP 中禁用了线程安全,我正在使用 xdebug 的非线程安全版本
-
xdebug 远程日志中断点的路径是正确的(请参阅此列表下面的代码片段,该片段中的路径和其他未显示的路径都是正确的)
<- breakpoint_set -i 1014 -t line -s enabled -f file:///var/www/mockup/test.php -n 8 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="1014" state="enabled" id="135610002"></response>
手动调用 xdebug_break() 工作
我还尝试在 Netbeans 项目属性中设置服务器路径和项目路径,因为感觉这可能是问题所在,但没有帮助。目前我的服务器路径为/var/www/mockup
和项目路径为/common/rsync/Dropbox/active-archives/code/Locus/mockup
然而,/var/www/mockup
无论如何,这是一个指向更长路径的符号链接,所以我什至不知道这是否有必要?无论我是否指定路径映射,它都不起作用......
基于@Derick 的输入,有效的解决方案是:
- 更改 NetBeans 项目属性以将文件从源文件夹复制到
/var/www/Locus
- 从运行配置中删除所有路径映射
- 将我的浏览器指向
localhost/Locus/
换句话说,不仅仅是源文件路径中的符号链接会导致问题,服务器路径中的符号链接也会导致问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)