【问题标题】:Allowed memory size exhausted concatenating var允许的内存大小已用完连接 var
【发布时间】: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 是相当多的文本

标签: php pdf memory size tcpdf


【解决方案1】:

在您的 php.ini 设置或 .htaccess 文件(在根目录中)中设置配置值 memory_limit = 256M(或更多)

【讨论】:

  • 可能想要包含一个M,否则你说的是256字节。
猜你喜欢
  • 2015-11-30
  • 2011-05-05
  • 1970-01-01
  • 2013-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多