嗨,我正在尝试使用 Dompdf 在 codeigniter 4 上实现 pdf 文件功能,但出现错误:
Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 262148096 bytes)
我在我的本地主机上工作,试图将内存限制增加到更大的大小,但页面一直在加载并且从不停止。只有当我尝试像这样在代码中嵌入图像时才会出现这种情况:
$dompdf = new \Dompdf\Dompdf();
$image=file_get_contents(ROOTPATH."/public/img/ss_logo_bgwhite.png");
$imagedata=base64_encode($image);
$imgpath = '<img src="data:image/png;base64, '.$imagedata.'">';
$HTML='<body><div>'.$imgpath.'</div></body>';
$document_title = "Quote#$quoteId";
$options = $dompdf->getOptions();
$options->setDefaultFont('Helvetica');
$options->set('dpi','120');
$options->set('isRemoteEnabled', TRUE);
// $options->set('isPhpEnabled ', true);
$options->set('isHtml5ParserEnabled',true);
$options->set('tempDir', ROOTPATH.'/public/uploads/');
$dompdf->setOptions($options);
$dompdf->loadHtml($HTML);
$dompdf->setPaper('A4', 'landscape');
$dompdf->render();
$dompdf->stream($document_title, ["compress" => 1, "Attachment" => false]);
我认为 Dompdf 库有问题有没有人遇到过这个问题?
我使用的是 CI 版本 4.3.1 我使用了“解决方法”修复并从 Dompdf 收到了正确的错误消息。原来我缺少一个 PHP GD 扩展,我只需要编辑我的 php.ini 以包含“extension=gd”行。这个错误让我抓狂,谢谢@b126。