Это было задано до некоторой степени, но нет решений или принятых ответов, и я хотел бы попытаться быть более всеобъемлющим в моем вопросе, поэтому:
Я пытаюсь запустить WKHTMLTOPDF через PHP на общем сервере (в данном случае это MediaTemple (gs)). По словам хозяина, нет причин, по которым это не сработает, и на самом деле он работает через SSH. Так что...
Я пробовал разные вещи, самый простой ничего не делает, просто молчал:
exec("/path/to/binary/wkhtmltopdf http://www.google.com pdf1.pdf");
- Источник: вопрос о переполнении стека
Полные привязки PHP вместе со следующими дадут мне ошибки, которые, несмотря на мой лучший Googling, я не могу понять:
Вызов:
$html = file_get_contents("http://www.google.com");
$pdf = new WKPDF();
$pdf->set_html($html);
$pdf->render();
$pdf->output(WKPDF::$PDF_EMBEDDED,'sample.pdf');
- Источник: WKHTMLTOPDF в Google Code
Ошибка:
Fatal error: Uncaught exception 'Exception' with message 'WKPDF didn't return
any data. <pre>Loading pages (1/6) [> ] 0% [======> ] 10% terminate called
after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc </pre>'
in /path/to/wkhtmltopdf.php:206 Stack trace: #0 /path/to/index.php(8):
WKPDF->render() #1 {main} thrown in /path/to/wkhtmltopdf.php on line 206
И как только я получил это (ниже - экстракт, поскольку я не могу воспроизвести его сейчас):
Qt Concurrent has caught an exception thrown from a worker thread. This is not
supported, exceptions thrown in worker threads must be caught before
control returns to Qt Concurrent.
Я также пробовал несколько других вариантов, но с теми же результатами; нет PDF. Итак, что мне теперь делать, как мне понять, что случилось? Мой уровень PHP находится на основной стороне, но я сделаю все возможное.