创建更大的 pdf 时,mpdf 内存太低
Posted
技术标签:
【中文标题】创建更大的 pdf 时,mpdf 内存太低【英文标题】:mpdf memory gets too low when creating bigger pdfs 【发布时间】:2017-01-02 05:55:20 【问题描述】:在处理大型(大约 11000 条记录)数据集时,如何防止内存不足?
问题
在将mPDF 与 php 一起使用时,我正在尝试从大型数据集(大约 11000 条记录)创建 PDF 文件,这会导致以下错误(内存值波动):
致命错误:24132行projectfolder\mpdf\mpdf.php内存不足(分配1197211648)(试图分配44字节)
我尝试了什么
它在较小的数据集上运行良好,我尝试搜索 *** 文章和其他谷歌文章,结果我对我的 php.ini 文件进行了以下更改:
memory_limit=-1
max_execution_time=0
post_max_size=0
我的笔记本电脑规格(运行脚本的位置):
8GB 内存 i7 处理器 64 位操作系统 XAMPP【问题讨论】:
调整了格式和语言以阐明问题的意图。通常最好将问题放在首位,然后是问题和尝试。底部的硬件规格很好,但如果您希望包含这些信息,则可以提供更多信息(可以通过 XAMPP 猜测 linux 的一些风味)关于正在运行的 64bit OS/版本/等。跨度> 【参考方案1】:遗憾的是,mPDF 没有针对大型数据集进行优化,从而导致 html 变大。
如果可以的话,我建议创建多个较小的 PDF 文档,然后使用 ghostscript 等外部工具将它们连接起来。
【讨论】:
【参考方案2】:调用自动加载后使用这个:
require_once APPPATH.'libraries/Mpdf/autoload.php';
ini_set("memory_limit","-1");
【讨论】:
以上是关于创建更大的 pdf 时,mpdf 内存太低的主要内容,如果未能解决你的问题,请参考以下文章
为啥我可以使用 POSIX 创建比 /dev/shm 上安装的大小更大的共享内存?
将 innodb_tmpdir 变量更改为更大的分区时,Mysql 抛出内存不足
CHCSVWriter用于写入更大的CSV文件的内存使用情况