我查看了我能找到的消息,但没有找到似乎有帮助的答案。我有一个调用 debug_backtrace() 的例程,然后循环遍历元素,以一种不错的格式将它们输出到我的日志中。这在大多数情况下都可以正常工作。
在某些呼叫中,系统只是挂起。假设如下:
$curStack = debug_backtrace();
foreach ($curStack as $myStackLevel) {
$test = gettype($myStackLevel);
// code to write out contents of $myStackLevel
// Log that we are getting the next item
}
// Log that the foreach is done
在某些情况下,PHP 会死掉——我可以看到它处理当前项目的日志,但是它在 foreach 行上崩溃了(或者至少在我以编程方式查看下一个 $myStackLevel 的内容之前)。
在这里的一条消息中,我看到了一些关于递归调用和使用序列化的信息,但我不能使用序列化(我使用 PDO 并收到消息“你不能序列化或反序列化 PDO 实例”)所以就这样了。
有趣的是,如果它崩溃,PHP 错误系统仍然提供堆栈的完整转储......(我在尝试使用序列化时发现了这一点)。
任何帮助表示赞赏....
谢谢,
JustMeToo