Выход из wkhtmltoimage равен NULL - PullRequest
       91

Выход из wkhtmltoimage равен NULL

1 голос
/ 07 ноября 2011

я пытался использовать wkhtmltoimage на моем сайте, но здесь не работает мой код для тестового сайта

<code><?php
$output = shell_exec('/usr/local/bin/wkhtmltoimage --quality 95 --width 1024 --height 0     yahoo.com test1.jpg');
echo "<pre>$output
";?>

вывод просто пустойстраница. Самое смешное, что когда я запускаю shell_exec(ls -l), вместо shell_exec('/usr/local/bin/wkhtmltoimage --quality 95 --width 1024 --height 0 yahoo.com test1.jpg'); он работает нормально, когда я запускаю wkhtmltoimage --quality 95 --width 1024 --height 0 yahoo.com test1.jpg из моего терминала ssh, он дает мне

Loading page (1/2)
Rendering (2/2)
QPixmap: Cannot create a QPixmap when no GUI is being used   ] 25%
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
Done

, ноон идет вперед и создает файл jpg.
когда я пытаюсь выполнить ту же команду для yahoo.com, это то, что я получаю catarplc@zenbile.com [~/public_html]# wkhtmltoimage --quality 95 --width 1024 --height 0 yahoo.com test100.jpg

Loading page (1/2)
Error: Failed loading page http://yahoo.com (sometimes it will work just to ignore this error with --load-error-handling ignore)
Error: Failed loading page http://yahoo.com (sometimes it will work just to ignore this error with --load-error-handling ignore)

разные веб-сайты дают мне разные сообщения.Что происходит? Парень, которого я нанял, чтобы сделать мой сайт, говорит, что это проблема с сервером, и больше ничего не хочет делать, моя компания веб-хостинга постоянно говорит мне, что shell_exec () работает нормально, и wkhtmltoimage установлен правильно .... Мне нужнопомощь, и обе стороны, которым я заплатил, чтобы помочь мне, не помогают мне. Кто-нибудь может помочь, пожалуйста ???

Спасибо

Ответы [ 4 ]

2 голосов
/ 09 декабря 2011

По моим небольшим знаниям, это происходит потому, что разрешения отключены в файле "robots.txt". В вашем коде и библиотеке нет проблем.

Работает только с веб-сайтами, которые имеют Разрешенные разрешения в файле robots.txt

Вы не получите эскиз для yahoo.com, imdb.com и т. Д., Но вы можете получить эскиз для google.com, hotmail.com и т. Д.

1 голос
/ 30 апреля 2013

Это происходит потому, что wkhtmltoimage требует, чтобы экземпляр X-сервера преобразовывал веб-страницы, содержащие изображения.

Короче говоря, если у вас запущен X-сервер, просто добавьте аргумент --use-xserver.

Если нет, вам нужно использовать xvfb для переноса команды в экземпляр виртуального X-сервера.

sudo apt-get install xvfb
xvfb-run --server-args="-screen 0, 1280x1024x24" wkhtmltoimage --use-xserver http://yahoo.com test.pdf

Для более подробного объяснения взгляните на: http://blog.hugerepo.com/2013/04/28/what-is-the-qpixma/

1 голос
/ 13 октября 2012

Это происходит, когда ваш путь к HTML неверен, если вы указали:

<a href="http"//wwww.google.com">google.com</a> 

Кажется, скрипт запутался;проверьте путь HTML.

0 голосов
/ 07 ноября 2011

Кажется, что проблема на самом деле в wkhtmltoimage , для этого есть сообщение об ошибке.Также кажется, что ошибка была исправлена, но не в текущей стабильной версии.Возможно, вы захотите попробовать RC и посмотреть, решит ли это вашу проблему.Имейте в виду, однако, что использование RC в производственной среде обычно не поощряется.

...