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

时间:2014-01-02 17:26:23

标签: php pdf cakephp rendering dompdf

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

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

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

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

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

  • 它几乎完全使用HTML表格构建。
  • 没有一个表跨越 多页。
  • 没有textarea控件。

4 个答案:

答案 0 :(得分:5)

我也遇到过与domPdf类似的问题,无法解决它们。我想如果你遇到困难,你可以在你的控制器中坚持使用ini_set for max_execution_time。

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

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

答案 1 :(得分:4)

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

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

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

答案 2 :(得分:3)

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

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

答案 3 :(得分:1)

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