获取单行致命 php 错误的完整堆栈跟踪


Get complete stack trace for one-line fatal php error

我在php错误日志中收到以下错误消息:

PHP 致命错误:允许的 1073741824 字节内存大小耗尽(尝试分配 5 个字节(在/lib/Zend/Db/Statement/Pdo.php第 284 行

但是,我想要完整的堆栈跟踪,知道如何获得它吗?

你可以看到带有堆栈跟踪的 Xdebug。

http://www.xdebug.org/

看起来你的PHP配置(php.ini(不允许超过1GB的内存,这对于PHP脚本来说真的很大。

确保你不要处理无限循环。当对大文件或大型数据库查询执行无限循环时,可能会发生在脚本因错误而停止工作之前内存已满max_execution_time的情况。

如果提供程序允许,您可以根据需要通过提供 ini_set("memory_limit","2G") 或更多来延长内存使用量(不推荐(。

如果你真的想调试这个,在这种情况下使用PHP"自调试器",把

echo "<pre>".print_r(debug_backtrace(),true)."</pre>";
exit;

在错误发生之前,这将显示带有参数,方法,...

您还可以将debug_backtrace()的输出存储在 var 中并自行处理。