【发布时间】:2013-03-06 21:19:13
【问题描述】:
我第一次使用 mpdf 库,一切正常。 我编写了一个脚本来创建包含 274 行表的 pdf 文件。当我运行脚本时,我得到 php 内存错误。我尝试了不同的场景,但我得到了相同的内存错误。请帮我解决这个错误。我在下面列出了不同的场景及其结果。
php.ini = memory_limit = 256M
script = ini_set('memory_limit', '25M');
Result:
memory_get_usage() = 12.75 mb
memory_get_peak_usage() = 12.75 mb
Fatal error: Allowed memory size of 26214400 bytes exhausted
(tried to allocate 261904 bytes)
in C:\xampp\htdocs\XX\lib\pdf\mpdf\mpdf.php on line 14268
php.ini = memory_limit = 256M
script = ini_set('memory_limit', '-1');
Result:
memory_get_usage() = 12.75 mb
memory_get_peak_usage() = 12.75 mb
Fatal error: Out of memory (allocated 1898971136)
(tried to allocate 261904 bytes)
in C:\xampp\htdocs\XX\lib\pdf\mpdf\mpdf.php on line 14265
【问题讨论】:
-
ini_set('memory_limit', -1); var_dump(ini_get('memory_limit'));确认您的更改正在设置中。 -
@Mike B 它输出 this = string(2) "-1"
-
所以其他东西正在将内存限制设置回 25。
-
有什么办法纠正这个问题吗? :-(
-
你能隔离出有问题的 HTML 部分吗?例如,它是否有助于瘦身,或删除样式表等?如果您通过 DOMDocument (loadXhtml + saveHtml) 运行它来解决嵌套问题,是否有帮助?您能否隔离导致 mpdf 内存问题的代码?
标签: php pdf pdf-generation mpdf memory-limit