PHP - wkhtmltopdf二进制文件

lb3vh1jj  于 2023-09-29  发布在  PHP
关注(0)|答案(3)|浏览(110)

我在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 来运行它。但是我应该在图书馆的哪里添加这个呢?

xghobddn

xghobddn1#

如果你检查这个代码块中的库代码,它会查找二进制文件名和二进制文件路径,这是两个独立的东西。
因此,您可能需要添加两个env参数而不是一个:

WKHTML2PDF_BIN_PATH=/usr/bin/
WKHTML2PDF_BIN_FILE=wkhtmltopdf
7jmck4yq

7jmck4yq2#

请尝试在此处关注此问题https://github.com/NitMedia/wkhtml2pdf/issues/33
创建一个配置文件:

app/config/packages/nitmedia/wkhtml2pdf/local/config.php

并在其中添加路径:

return [
    'debug' => true,
    'binpath' => '/usr/bin/',
    'binfile' => 'wkhtmltopdf',
    'tmppath' => '/tmp/',
];

不要忘记删除.env配置项。

3pvhb19x

3pvhb19x3#

你在你的服务器终端上试过这个吗;
export DISPLAY=:0
有效地欺骗了显示器。

相关问题