В настоящее время я использую компонент Symfony Process, который опирается на функцию proc_open
PHP. Мне нужно запустить команду на wkhtmltopdf
, которая имеет такой вид:
/usr/local/bin/wkhtmltopdf --window-status "___RENDER_PDF___" --orientation "portrait" --run-script "window.basilOptions = {storages: ['memory'] }; document.body.addEventListener('status:app:rendered', function () { window.status = '___RENDER_PDF___'; });" "http://localhost/p/lps#poll/lpsp002" "/tmp/pdf_d6fbWO"`
Когда я запускаю эту команду непосредственно в своей оболочке, она работает просто отлично и выполняется около 6 секунд. Но когда я использую PHP с компонентом процесса, он уходит в тайм-аут... А при использовании функций exec
или proc_open
он работает бесконечно. Тайм-аут по умолчанию для компонента процесса составляет 60 секунд (даже его продление не имеет никакого эффекта).
Я пробовал это на PHP 5.4 и PHP 5.5, но результат, похоже, тот же.
Любые идеи, почему эта команда отлично работает в оболочке, но не через PHP? Протестировано в средах MAMP, а не в средах MAMP (в версиях 5.4 и 5.5). Однако он работает на Ubuntu 14.04 с PHP 5.5.
Я подумал, что, возможно, при прохождении через PHP и MAMP процесс может быть завершен, но все еще зависает, как сообщалось с помощью эта ошибка ? Я обновлю, когда у меня будет больше информации, чтобы увидеть, действительно ли PDF-файл сгенерирован или нет.
Спасибо.