内存大小耗尽尝试在Codeigniter中使用DOMPDF呈现pdf时出错

prdp8dxp  于 2023-03-16  发布在  其他
关注(0)|答案(1)|浏览(130)

嗨,我正尝试使用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库的问题,有人遇到过这个问题吗?
类似问题:Codeigniter 4 DOMPDF (2.0.0) PNG Image loading issue . PHP version 8.0.17

slwdgvem

slwdgvem1#

我使用的是CI版本4.3.1,我使用了“变通方法”修复,并从Dompdf中得到了一个正确的错误信息。原来我缺少了一个PHP GD扩展,我只需要编辑我的php.ini以包含“extension=gd”行。这个错误让我发疯,谢谢@b126。

相关问题