【问题标题】:WKHTMLTOPDF in Laravel 4.1 PHP5.5 Permission deniedLaravel 4.1 PHP5.5 中的 WKHTMLTOPDF 权限被拒绝
【发布时间】:2014-04-06 22:10:03
【问题描述】:

我已经通过 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 用户所有。

当我在终端中手动运行命令时,它按预期工作。

有什么想法吗?

【问题讨论】:

  • 嘿,你能解决这个问题吗?...我似乎也无法在网上找到任何解决方案...
  • 我认为他们在配置中将 'bin' 更改为 'binPath' ...(我已经放弃了另一个)
  • 实际上我发现了这个:github.com/mikehaertl/phpwkhtmltopdf 它为我处理了一切。另外,无论谁使用这个库,都不要忘记在 Linux 上的 bin 路径之前的前面的“./”

标签: php apache shell laravel wkhtmltopdf


【解决方案1】:

首先用命令检查文件权限是什么 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.

希望这会有所帮助。

【讨论】:

  • OP表示他已经检查了权限问题并且每个人都有执行权限。
猜你喜欢
  • 1970-01-01
  • 2018-08-30
  • 2015-12-03
  • 2014-04-28
  • 2016-05-02
  • 2016-10-18
  • 2016-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多