Dompdf:“超过30秒的最大执行时间”

问题描述 投票:5回答:4

一致(意思是每次)我尝试将与客户端表单相关的相对大量的HTML加载到dompdf中。我得到主题错误消息,或偶尔,一些其他错误。如果我注释掉PDF文档中9页的任何一个代码,它就可以了。

一旦达到某个不确定的临界质量数据,我在过去的变长报告(这是一个总是9页的表格)中遇到了同样的问题。我见过的与此问题相关的其他帖子总是包括后续评论,坚持原始海报提供HTML。我试图这样做,但它远远超过允许的限制。

为了减少HTML的数量会导致dompdf渲染没有问题的HTML,所以我不知道如何继续获得解决方案。我可以提供指向该页面的链接,但它需要用户名和密码才能访问,结果页面将包含不供公众使用的信息。

如果没有任何帮助,可以有人建议我可以获得帮助的另一个论坛吗?

以下是我可以列出的HTML的一些细节,可能有助于诊断问题:

  • 它几乎完全使用HTML表构建。
  • 这些表都不跨越多个页面。
  • 没有textarea控件。
php pdf cakephp rendering dompdf
4个回答
1
投票

这里设置时间限制,以秒为单位。设置-1表示无限制的时间限制。参数或者set_time_limit(500);


5
投票

我也有与domPdf类似的问题,但无法解决它们。我猜你可以随时在你的控制器中坚持使用ini_set for max_execution_time。

最终我搬到了MPDF,这对我来说非常好。它似乎是我发现的最便携,维护良好的PHP HTML到PDF库。

我不确定是否应将此作为答案或评论发布,如果这应该是评论,请告诉我。


4
投票

它发生在我身上,问题相当小。

除了增加时间限制,请检查您的内容是否溢出,我将纸张大小设置为A4,但当我将其更改为A3时,页面呈现正确,因此没有花费很长时间(图书馆要弄清楚)页面溢出)

$dompdf = new DOMPDF();
$dompdf->set_paper('A3','landscape'); //Changed A4 to A3
$dompdf->load_html($html);
$dompdf->render();

3
投票

我知道这已经得到了回答,但我只想补充一点,DOMPDF不喜欢嵌套表

http://eureka.ykyuen.info/2011/04/29/php-dompdf-render-timeout-problem/

© www.soinside.com 2019 - 2024. All rights reserved.