PHP-wkhtmltopdf二进制文件
我正在我的Laravel应用程序中使用。在我当地的环境中,这非常有效。我的PDF已正确生成。在我的.env文件中,我有: WKHTML2PDF_BIN_FILE=wkhtmltopdf-amd64 但在我的服务器上,我有以下错误: 我的软件支持armhf。所以我无法安装amd/64位版本。我在我的服务器上安装了wkhtmltopdf,如下所示:PHP-wkhtmltopdf二进制文件,php,laravel,pdf,wkhtmltopdf,amd,Php,Laravel,Pdf,Wkhtmltopdf,Amd,我正在我的Laravel应用程序中使用。在我当地的环境中,这非常有效。我的PDF已正确生成。在我的.env文件中,我有: WKHTML2PDF_BIN_FILE=wkhtmltopdf-amd64 但在我的服务器上,我有以下错误: 我的软件支持armhf。所以我无法安装amd/64位版本。我在我的服务器上安装了wkhtmltopdf,如下所示: sudo apt install wkhtmltopd 但现在它不能在线工作了。我认为我的配置是错误的(指向bin文件的链接)。但我如何知道并设置指
sudo apt install wkhtmltopd
但现在它不能在线工作了。我认为我的配置是错误的(指向bin文件的链接)。但我如何知道并设置指向WKHTML2PDF_BIN_文件的正确链接
更新:
当我输入以下命令时:
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\u BIN\u文件=wkhtmltopdf-amd64
更改为WKHTML2PDF\u BIN\u文件=/usr/BIN/wkhtmltopdf
,但结果是:
我怎样才能解决这个问题
更新2:
我已将此添加到我的配置中:
WKHTML2PDF_BIN_PATH=/usr/bin/
WKHTML2PDF_BIN_FILE=wkhtmltopdf
但是我得到了一个错误QXcbConnection:无法连接到display。我在主题中读到,我应该能够使用xvfb运行wkhtmltopdf来运行它。但是我应该在库中的什么地方添加它呢?如果您检查库的代码,它会查找二进制文件名和二进制文件路径,这是两个独立的东西 因此,您可能需要添加两个环境参数,而不是一个:
WKHTML2PDF_BIN_PATH=/usr/bin/
WKHTML2PDF_BIN_FILE=wkhtmltopdf
请尝试在此处遵循此问题线索 创建配置文件:
app/config/packages/nitmedia/wkhtml2pdf/local/config.php
并在其中添加路径:
return [
'debug' => true,
'binpath' => '/usr/bin/',
'binfile' => 'wkhtmltopdf',
'tmppath' => '/tmp/',
];
并且不要删除
.env
配置条目。您是否在服务器终端上尝试过此操作
导出显示=:0
有效地复制了显示。
sudo find/-name“wkhtmltopdf*”
将为您提供确切的路径。@aynber,我已经用结果更新了主题。你能帮我上路吗?。在例外情况下,路径中有一个双/。请尝试设置WKHTML2PDF_BIN_FILE=usr/BIN/wkhtmltopdf,但不带前导/。也,请尝试“which wkhtmltopdf”以找出linux在何处看到它。您是否可以发布配置文件,其中wkhtml2pdf的配置不是.env
文件,因为如果您将配置添加到.env
文件中,而不将配置添加到从.env
读取的实际配置文件中,则会感觉您什么都没有做