我已经通过包laravel-pdf (https://packagist.org/packages/ignited/laravel-pdf)实现了wkhtml2pdf,它使用了Michael Haertl (https://packagist.org/packages/mikehaertl/phpwkhtmltopdf)编写的wkhtmltopdf的一个小包装器。
它曾经运行得很好。然后我升级到PHP5.5和Laravel 4.1。
现在我得到以下错误:
Could not run command '' --bin '/var/www/docassembly/vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64' /tmp/tmp_WkHtmlToPdf_f0LNZv.html /tmp/tmp_WkHtmlToPdf_gJY5R6: sh: 1: : Permission denied 看起来Apache没有执行该二进制文件的权限。二进制文件归apache用户所有,大小为777。不过,它确实会将一个空文件写入tmp目录。/tmp文件夹也是777,归apache用户所有。
当我在终端中手动运行该命令时,它可以正常工作。
有什么想法吗?
发布于 2014-08-20 05:50:36
首先用ls -l /var/www/docassembly/vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64命令检查文件的权限。
应为-rwx------ 1 www-data www-data 38824584 Aug 17 00:40 wkhtmltopdf-amd64。
如果不是,则使用命令chmod 700 /var/www/docassembly/vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64进行更改。
希望这能有所帮助。
https://stackoverflow.com/questions/22187803
复制相似问题