1

在一个 symfony4 项目中,我使用 KNP Snappy 和 wkhtmltopdf 来生成 pdf 文件。这适用于我的计算机和服务器。在我的服务器上,我创建了一个名为“dev”的文件夹,我可以在其中测试我的项目(我在那里创建了一个副本)。当我在我的测试项目中设置 .env 文件时prod一切正常,包括生成 pdf 文件。

奇怪的是:在我的实际生产站点(在上面的文件夹中)上,所有代码都与“dev 文件夹”中的项目完全相同,但是每当我尝试生成 pdf 文件时,我都会得到一个很好的旧500 Internal server error.

这是我的配置文件knp_snappy.yaml

knp_snappy:
pdf:
    enabled:    true
    binary:     '%kernel.root_dir%/../vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64'
    options:    []
image:
    enabled:    true
    binary:     '%env(WKHTMLTOIMAGE_PATH)%'
    options:    []

这应该只是工作,但它没有。我尝试更改文件,更改路径,但没有运气。会不会是文件夹权限问题?由于代码完全相同,这两个项目之间还有什么不同?我很难解决这个问题,因为我在测试时无法重现该问题,并且我无法找到有关该错误的任何信息。任何帮助是极大的赞赏。

到目前为止我尝试过的更新:我重新安装了依赖项。我更改了文件夹的权限,tmp确保我尝试生成的 pdf 不包含任何内容。我清除了缓存(显然),但仍然是一个错误。

4

1 回答 1

1

我设法找到了问题。该文件wkhtmltopdf-amd64没有设置正确的权限。我需要执行权限,所以我将其设置为 rwxrw-r-- (0764) 的权限,现在一切正常。出于某种原因,在 dev 文件夹中,文件 DID 设置了执行权限。

于 2018-11-08T16:35:45.557 回答