laravel — двоичный файл wkhtmltopdf

Я использую wkhtml2pdf libary в моем приложении Laravel. В моем местном окружении это работает отлично. Мой PDF-файл создан правильно. В моем .окр файл у меня есть:

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 но это приводит к:

введите описание изображения здесь

Как я могу это исправить?

ОБНОВЛЕНИЕ 2:

Я добавил это в мою конфигурацию:

WKHTML2PDF_BIN_PATH=/usr/bin/
WKHTML2PDF_BIN_FILE=wkhtmltopdf

Но тогда я получаю ошибку QXcbConnection: не удалось подключиться к дисплею. Я прочитал в этот тема, которую я должен быть в состоянии запустить его с xvfb-run wkhtmltopdf. Но где я должен добавить это в библиотеку?

3

Решение

Если вы проверите код библиотеки в этом блоке кода он ищет двоичное имя файла и путь двоичного файла, которые являются двумя отдельными вещами.

Поэтому, возможно, вам придется добавить два параметра env вместо одного:

WKHTML2PDF_BIN_PATH=/usr/bin/
WKHTML2PDF_BIN_FILE=wkhtmltopdf
1

Другие решения

Попробуйте подписаться на эту тему здесь 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 запись конфига.

0

Вы пробовали это на сервере вашего сервера;

export DISPLAY=:0

Эффективно дублирует дисплей.

0
По вопросам рекламы [email protected]