php - xDebug 没有在断点处停止

标签 php linux visual-studio xdebug centos6

我在 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/

相关文章:

visual-studio - 如何使用 Visual Studio 2008 调试到 CUDA 内核代码中?

c - 如何在网络程序中监视/关闭待处理的网络 session

php mysql比较日期是否相等

php - 将 MySQL 结果存储在 XML 文件中并自动刷新

php - PHP REST API 如何接收 PUTted 数据?

linux - 带有 Windows 行结尾的头文件

linux - 如何找到linux内核中 "sys_access"等函数的实现

asp.net - 无法为 .net 安装 "LemmatizerPrebuiltCompact"库 - Visual Studio 错误

c# - 在 Visual Studio 中测试/运行具有受限 CPU/RAM 的 C# 应用程序?

php - 为什么使用 mysqli_close()?