KnpSnappyBundle и Symfony 3.4: изображения и / или css вызывают тайм-аут
Я установил KnpSnappyBundle в существующий проект Symfony 3.4. Я протестировал генератор PDF с HTML-веткой только с текстом, без изображений, без CSS, без JS: он работает нормально.
Затем я добавил (к ветке) изображение и файл Bootstrap.Css, используя абсолютный URL (я работаю на локальном хосте): генератор PDF отображает ужасную ошибку:
The process "wkhtmltopdf --lowquality '/tmp/knp_snappy5aeb39ad71e767.56551505.html' '/tmp/knp_snappy5aeb39ad71ebf0.62787578.pdf'" exceeded the timeout of 60 seconds.
Что не так с расслоением? Я использую ноутбук i7 с 8Gb RAM (Ubuntu 16.04), я не думаю, что это проблема конфигурации машины.
ОБНОВЛЕНИЕ: я протестировал wkhtmltopdf из командной строки, и он конвертирует мою ветку:
wkhtmltopdf http://127.0.0.1:8000/eshop/admin/order/print/2 out.pdf
Так что у wkhtmltopdf нет проблем с абсолютными URL на localhost!
Спасибо
1 ответ
Нашел решение здесь: https://github.com/KnpLabs/KnpSnappyBundle/issues/82
Кажется, что wk не может найти ресурсы, используя абсолютный URL-адрес при вызове из комплекта (поэтому при выполнении в оболочке), вы должны указать абсолютный путь. Создайте глобальную переменную ветки:
twig:
globals:
pathToWeb: "%kernel.root_dir%/../web"
Затем в ветке используйте новую переменную вместо asset():
<link ... href="{{ pathToWeb }}/css/bootstrap.min.css"/>
<img ... src="{{ pathToWeb }}/images/logo.png"/>
Работает как шарм