我在 google 和 stackoverflow 上搜索了几个小时......没有找到原因......
我的应用程序托管在 Centos 6.5 Apache 中,并使用 Visual Studio + PHP 工具从我的开发计算机进行调试。
它工作得很好,直到我对 Centos 机器进行了一些更新、重新启动、couchdb 安装/配置(以及很多其他操作),然后我注意到 xdebug 不再在断点处停止,它仅在出现异常或我在 PHP 脚本中写出 xdebug_break() 时停止...
我尝试禁用 SELinux、Iptables,但也没有帮助。
然后我查看了 xdebug.log 文件,它给出了如下随机错误:
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///home/ec2-user/webapps/webapps/PVPCardGame/index.php" language="PHP" protocol_version="1.0" appid="$
<- breakpoint_set -i x0-10000 -t exception -x "Fatal error"
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="x0-10000" id="39890001"></response>
<- breakpoint_set -i x1-10001 -t exception -x "Parse error"
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="x1-10001" id="39890002"></response>
<- breakpoint_set -i x2-10002 -t exception -x "Unknown error"
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="x2-10002" id="39890003"></response>
<- feature_get -i 3 -n max_children
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_get" transaction_id="3" feature_name="max_children" supported="1"><![CDATA[32]]></response>
<- breakpoint_set -i 4-0 -t line -f file:///home/ec2-user/webapps/webapps/PVPCardGame_fuel/app/classes/controller/user.php -n 104
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="4-0" id="39890004"></response>
<- breakpoint_set -i 5-1 -t line -f file:///home/ec2-user/webapps/webapps/PVPCardGame_fuel/app/classes/controller/user.php -n 108
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="5-1" id="39890005"></response>
所以它确实连接到了我的客户端,但我对错误日志的了解为零......
XDebug 版本 2.3.2 PHP版本5.4.41
最佳答案
我已经从 Linux 计算机上卸载了 PHP 5.4.41,并重新安装到了更高版本的 PHP 5.5.27。 突然间就开始工作了。
我相信是因为 xDebug 的工作原理是,它在 Linux 的 PHP 上运行并将调试信息发送到我的本地计算机,该信息在不同版本的 PHP 5.6.8 中进行解释......这就是为什么不起作用。
关于php - xDebug 没有在断点处停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31040688/