DomPDF 在 localhost 中的行为与 GoDaddy 托管不同

Posted

技术标签:

【中文标题】DomPDF 在 localhost 中的行为与 GoDaddy 托管不同【英文标题】:DomPDF acting different in localhost than GoDaddy Hosting 【发布时间】:2017-02-13 01:30:49 【问题描述】:

我对 DomPDF 有疑问,问题是它在 localhost 中完美运行,但是当我在 Hosting 中尝试时,它给了我这个错误:

     ErrorException in Cpdf.php line 3547:
    Undefined index:
in Cpdf.php line 3547
at HandleExceptions->handleError('8', 'Undefined index: ', '/home/imphusius/public_html/cafeconor/vendor/dompdf/dompdf/lib/Cpdf.php', '3547', array('size' => '12')) in Cpdf.php line 3547
at Cpdf->getFontHeight('12') in CPDF.php line 809
at CPDF->get_font_height('/home/imphusius/public_html/cafeconor/vendor/dompdf/dompdf\lib\fonts\Times-Roman', '12') in FontMetrics.php line 352
at FontMetrics->getFontHeight('/home/imphusius/public_html/cafeconor/vendor/dompdf/dompdf\lib\fonts\Times-Roman', '12') in Text.php line 188
at Text->_layout_line() in Text.php line 362
at Text->reflow(object(Block)) in AbstractFrameDecorator.php line 801
at AbstractFrameDecorator->reflow(object(Block)) in Block.php line 738
at Block->reflow(null) in AbstractFrameDecorator.php line 801
at AbstractFrameDecorator->reflow() in Page.php line 133
at Page->reflow(null) in AbstractFrameDecorator.php line 801

有谁知道错误来自哪里以及为什么?

【问题讨论】:

这是您从本地复制到 GoDaddy 的部署吗?可能是字体指标问题。将您的字体/字体缓存目录(默认为 dompdf/lib/fonts)重置为分发状态,看看是否有帮助。 【参考方案1】:

前段时间我在不同的主机上遇到了类似的问题。经过一段时间的实验,结果发现清除主机内置缓存并执行php artisan cache:clear(可能php artisan route:clear就足够了)解决了这个问题。如果您也是这种情况,我建议您使用 Laravel cron 作业安排此缓存擦除。 如果有帮助,请告诉我。

【讨论】:

以上是关于DomPDF 在 localhost 中的行为与 GoDaddy 托管不同的主要内容,如果未能解决你的问题,请参考以下文章

第二页的上边距不起作用 - Laravel DOMPDF

如何在Drupal 8中使用Dompdf? [关闭]

DOMPDF:图像不可读或为空。 (使用 barryvdh/laravel-dompdf)

启用生成pdf(它给我计划文件中的html文本) - dompdf

PyMySQL 使用 localhost 与套接字不连贯的行为

DOMPDF 更改 html 元素的位置