【问题标题】:Get complete stack trace for one-line fatal php error获取一行致命 php 错误的完整堆栈跟踪
【发布时间】:2014-11-12 08:40:41
【问题描述】:

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

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

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

【问题讨论】:

    标签: php memory stack-trace backtrace


    【解决方案1】:

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

    确保你没有处理无限循环。当对大文件或大型数据库查询执行无限循环时,可能会在脚本停止工作之前内存已满@987654322 @错误。

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

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

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

    在错误发生之前,这会显示带有参数、方法、...的完整堆栈树

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

    【讨论】:

      【解决方案2】:

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

      http://www.xdebug.org/

      【讨论】:

        猜你喜欢
        • 2011-08-25
        • 2021-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多