【问题标题】:PHP Allowed memory size of X bytes exhaustedPHP 允许的 X 字节内存大小已用尽
【发布时间】:2015-10-13 21:22:27
【问题描述】:

我正在使用 mPDF 库来创建和下载 PDF 文件,例如循环中的 x1000(单独使用 ajax)。
有时我会收到一系列文件"Allowed memory size of 268435456 bytes exhausted (tried to allocate 261900 bytes)" 的错误消息。我读到我必须在配置中设置更大的 memory_limit 但我不能这样做,因为 256M 是我的限制。

这个错误还有其他解决方案吗?

【问题讨论】:

    标签: php memory mpdf


    【解决方案1】:

    在不增加内存限制的情况下,您可以通过另外两种方式减少内存使用量...

    1. Consider setting $mpdf->simpleTables = true; if you do not need complex table borders, or $mpdf->packTableData = true; if you do not mind the extra processing time.
    2. packTableData – Use binary packing of table data to reduce memory usage

    这两者都会增加处理时间以节省内存使用量。

    【讨论】:

    • 第一个解决方案让我节省了 5MB。非常感谢。
    【解决方案2】:

    在内存限制较高的测试环境中尝试,确保问题是内存限制问题。也许您有一个无限循环或无限递归调用正在消耗您的内存。

    【讨论】:

    • 我确定没有无限循环。我在 localhost(其中 memory_limit = 128M)上尝试过,这没有问题..
    猜你喜欢
    • 1970-01-01
    • 2017-08-26
    • 2023-03-31
    • 2019-09-18
    • 1970-01-01
    • 2012-08-29
    • 2020-10-06
    • 2018-02-24
    • 2012-08-08
    相关资源
    最近更新 更多