【发布时间】:2016-05-26 21:25:59
【问题描述】:
我正在开发一个生成 PDF 文件的项目。我正在使用 TCPDF 库,它的方法是“WriteHTML”。
要编写 html,我会这样做:
$html = "";
for($i = 0; $i < $someBigNumber; $i++){
$html .= "BigData"; //Here I do a concatenate
}
$pdf->WriteHTML($html, paramaters);
但问题是如果$someNumber这么大或者数据这么大,就会出现致命错误。
致命错误:134217728 字节的允许内存大小已用尽(尝试分配 36 字节)
【问题讨论】:
-
是的,它的工作方式很有趣不是吗?在内存中创建一个非常大的字符串,它使用....内存....如果您绝对必须在内存中创建巨大的字符串,那么增加 PHP 的内存余量;否则,请查看流数据或构建文件然后将该文件加载到 PDF 渲染器等选项
-
134 mb 的 html 是相当多的文本