【发布时间】:2015-10-07 07:42:57
【问题描述】:
我对从 PHP 执行的 wkhtmltopdf 有一个奇怪的问题。我的 PHP 代码如下所示:
<?php
exec('wkhtmltopdf --header-html "http://example.com/pdf-header"
--footer_html "http://example.com/pdf-footer"
/tmp/pdf.html /tmp/pdf.pdf');
?>
当我从 shell 执行相同的命令时,它可以完美运行。但是,当我尝试像上面提到的那样从 PHP 运行它时,脚本会一直运行,直到超时,导致 PDF 文件为空。
当我搜索网页时,我尝试使用> /tmp/error_log.txt 1>&2 参数运行它,我发现从 PHP 执行时它返回错误:
Exit with code 1 due to network error: ProtocolUnknownError
更有趣的是,当我删除 --footer-html 和 --header-html 时,它可以从 PHP 中正常执行。但显然生成的 PDF 缺少页眉和页脚。
页眉和页脚 HTML 没有任何外部资源引用。而且我认为这不是网络/ DNS 问题,因为从同一服务器的命令行可以正常工作。
我会很高兴任何提示和技巧,因为这让我发疯。提前致谢。
【问题讨论】:
-
在我的情况下,我对图像
-
在我的情况下,它也是一个丢失的图像(应该从本地文件系统加载)
标签: php shell wkhtmltopdf