Я пытаюсь создать PDF из HTML с помощью PHP. Я использую Mac OS X в качестве среды разработки, хотя мне бы хотелось, чтобы этот код запускался на производственном Linux-сервере.
Пока у меня есть:
$url = escapeshellarg("http://www.google.com/"); $output = shell_exec("/usr/local/Cellar/wkhtmltopdf/0.11.0_rc1/bin/wkhtmltopdf " . $url . " /tmp/tmp_pdf.pdf 2>&1"); echo "<pre>$output</pre>";
Этот код создает PDF-файл в файле /tmp/tmp_pdf.pdf. Проблема в том, что он никогда не делает
echo "<pre>$output</pre>";
Браузер просто зависает, ожидая сервера.
Его почти так, как будто команда shell_exec никогда не заканчивается. Я замечаю, что при запуске wkhtmltopdf из терминала он не возвращается в командную строку. Я получил:
Loading page (1/2) Printing pages (2/2) Done
Затем он сидит там, подобно скрипту php. Есть идеи?
Проблема была в версии, используемой как указано в rexmac . Использование статического двоичного файла для wkhtmltopdf исправило проблему для OP.