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

4

我在 php 日志中看到了以下错误信息:

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

然而,我需要完整的堆栈跟踪信息,请问如何获取?

2个回答

1

0

看起来你的 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() 的输出存储在变量中,并自行处理。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接