我在Laravel应用程序中使用wkhtml2pdf libary。在我的本地环境中,这工作得很完美。我的PDF文件已正确生成。在我的**.env**文件中:
WKHTML2PDF_BIN_FILE=wkhtmltopdf-amd64
但是在我的scaleway服务器上,我遇到了以下错误:
我的软件支持armhf。所以我无法安装AMD/64位版本。我在服务器上安装了wkhtmltopdf,如下所示:
sudo apt install wkhtmltopd
但现在它不能在网上工作。我想我的配置是错误的(链接到bin文件)。但是我如何知道并设置到我的WKHTML2PDF_BIN_FILE的正确链接?
更新:
当我输入以下命令时:
sudo find / -name "wkhtmltopdf*"
然后我得到以下结果:
/var/lib/dpkg/info/wkhtmltopdf.md5sums
/var/lib/dpkg/info/wkhtmltopdf.list
/var/www/mydomain.com/html/vendor/nitmedia/wkhtml2pdf/src/Nitmedia/Wkhtml2pdf/lib/wkhtmltopdf-i386
/var/www/mydomain.com/html/vendor/nitmedia/wkhtml2pdf/src/Nitmedia/Wkhtml2pdf/lib/wkhtmltopdf-amd64
/var/www/mydomain.com/html/vendor/nitmedia/wkhtml2pdf/src/Nitmedia/Wkhtml2pdf/lib/wkhtmltopdf-0.12.1-OS-X.i386
/usr/share/doc/wkhtmltopdf
/usr/share/man/man1/wkhtmltopdf.1.gz
/usr/bin/wkhtmltopdf
我尝试将WKHTML2PDF_BIN_FILE=wkhtmltopdf-amd64
更改为WKHTML2PDF_BIN_FILE=/usr/bin/wkhtmltopdf
,但结果是:
我该怎么办?
更新二:
我在我的配置中添加了这个:
WKHTML2PDF_BIN_PATH=/usr/bin/
WKHTML2PDF_BIN_FILE=wkhtmltopdf
但是我得到了错误QXcbConnection:无法连接到显示器。我在this主题中读到,我应该可以用 xvfb-run wkhtmltopdf 来运行它。但是我应该在图书馆的哪里添加这个呢?
3条答案
按热度按时间xghobddn1#
如果你检查这个代码块中的库代码,它会查找二进制文件名和二进制文件路径,这是两个独立的东西。
因此,您可能需要添加两个env参数而不是一个:
7jmck4yq2#
请尝试在此处关注此问题https://github.com/NitMedia/wkhtml2pdf/issues/33
创建一个配置文件:
并在其中添加路径:
不要忘记删除
.env
配置项。3pvhb19x3#
你在你的服务器终端上试过这个吗;
export DISPLAY=:0
有效地欺骗了显示器。