【问题标题】:Permission denied with wkhtmltopdf权限被 wkhtmltopdf 拒绝
【发布时间】:2016-03-17 15:29:46
【问题描述】:

我已经安装了 Wkhtmltopdf,当我执行他时出现这个错误“/var/chroot/wkhtmltox-jessie-amd64: Permission denied”。我在谷歌搜索,但我还没有找到怎么做......剧目有这个权限“drwxr-xr-x root root”,我在网络服务器(apache)和Symfony中执行他。

错误:

退出状态代码“126”表示出了点问题: 标准错误:“sh:1:/var/chroot/wkhtmltox-jessie-amd64:权限被拒绝 " 标准输出:“”

你能帮帮我吗?

【问题讨论】:

  • 我猜,webserver 用户 (apache) 没有提到的目录(由 root 拥有)的写入权限,所以在 root 用户下你需要更改目录的权限:chmod 777 /var/chroot/wkhtmltox-jessie-amd64 或更改apache 用户的所有权:chown apache.apache /var/chroot/wkhtmltox-jessie-amd64

标签: symfony debian apache2 wkhtmltopdf


【解决方案1】:

在 linux 或 mac 的用户目录中的自定义文件夹中安装库 Wkhtmltopdf 保存此路由并在您的配置中设置

此解决方案在生产服务器中工作

这个错误是因为var和opt文件夹如果不是root用户就不能写任何内容

【讨论】:

  • 谢谢...这对我有用!只是想添加我用于 linux (ubuntu) 的命令。要复制到我使用的自定义文件夹:sudo cp vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64 /usr/local/bin/ 这会将文件复制到新的自定义位置。然后我确保使用:sudo chmod +x /usr/local/bin/wkhtmltopdf-amd64 正确设置了权限。最后,正如@dest 建议的那样,我在配置文件中进行了设置,将 de config.yml 中的二进制设置更改为新位置:'binary' => '/usr/local/bin/wkhtmltopdf-amd64'
【解决方案2】:

我在服务器上遇到了同样的问题;奇怪的是,本地版本愉快地完成了它的工作。 在没有任何运气的情况下更改了生成文件的目标文件夹权限后,我意识到问题是由 config.yml 中的二进制路径引起的。我将其更改为:

/opt/wkhtmltox/bin/wkhtmltopdf.exe

到:

/opt/wkhtmltox/bin/wkhtmltopdf

现在一切都好。

PS:如果您没有在供应商的文件中保留 wkhtmltopdf(我的情况),请在 config_prod.yml 中创建一个 knp_snappy 配置;路径从本地版本到产品版本不同。

Here 是 KnpLabs Bundle 的官方文档以获取更多信息。

祝你好运! (如果您在 1 年零 11 个月后需要任何'答案')

【讨论】:

    猜你喜欢
    • 2014-04-06
    • 2014-04-28
    • 2017-08-22
    • 2015-08-30
    • 1970-01-01
    • 2018-07-19
    • 2018-02-05
    相关资源
    最近更新 更多