首页 > 解决方案 > Laravel: 试图生成 pdf -> sh: 1: wkhtmltopdf: not found - 我可以为 shell 注册 wkhtmltopdf 吗?

问题描述

所以我正在进入一个已经存在的项目,包括托管它。我有所有的源代码(还没有从旧主机传输文件)

该网页托管在 Plesk Onyx 17.8.11、操作系统 Ubuntu 18.04.3 LTS 上。大多数网站运行起来都很有魅力,没有任何东西,包括加载文件和生成 pdf(可能还有其他我还没有找到的东西)。当我想生成 pdf(使用队列工作者)时,我sh: 1: wkhtmltopdf: not found在 laravel.log 中收到错误,该错误指向捕获 pdf 生成中抛出的任何错误的代码行。

wkhtmltopdf 是通过composer(以及composer.json)安装在项目和全局中的。我已经在网上搜索过,并找到了使用二进制选项的提示。但是,由于代码库并不小,而且我知道它在另一台主机上运行良好,我不想更改所有实例generatePdf()以包含该选项。因为它在另一台服务器上运行,所以感觉有些配置我弄错了。

提前致谢!

更新:我必须安装带有补丁 qt 的 wkhtmltopdf,如此处所述,现在它就像一个魅力。

标签: phpweb-hostingubuntu-18.04wkhtmltopdflaravel-5.8

解决方案


使用来自@cOle2 的提示,我通过apt-get而不是作曲家获得了 wkhtmltopdf。这使得 wkhtmltopdf 可以在任何地方使用并导致我出现另一个错误:The switch --footer-html, is not support using unpatched qt, and will be ignored.qt.qpa.screen: QXcbConnection: Could not connect to display\nCould not connect to any X display.这个错误将我带到这里,并按照那里的描述重新安装 wkhtmltopdf 解决了问题。

tl;dr 将 wkhtmltopdf 安装为带有补丁的 qt 的二进制文件。


推荐阅读