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

时间:2014-11-12 08:40:41

标签: php memory stack-trace backtrace

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

  

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

但是,我想要完整的堆栈跟踪,任何想法如何获得它?

2 个答案:

答案 0 :(得分:1)

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

确保您的程序无限循环。当使用大型文件或大型数据库查询执行无限循环时,可能会发生内存在脚本停止工作之前已满max_execution_time错误。

如果您的提供商允许,您可以延长内存使用量,如果需要,可以提供ini_set("memory_limit","2G")或更多(不推荐)。

如果你真的想调试这个,请使用php" self-debuggers"在这种情况下,把

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

在错误发生之前,这将显示带有args,方法的完整堆栈树......

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

答案 1 :(得分:0)

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

http://www.xdebug.org/

相关问题