我已经安装了 wkhtmltopdf 0.11 和 KNP\Snappy,以便尝试在我的 Symfony2 项目中从 HTML 生成 PDF。我正在运行 CentOS 6 x64。
Wkhtmltopdf 抛出以下内容:
QPixmap: Cannot create a QPixmap when no GUI is being used
Segmentation fault
除非有一个活动的 X 服务器,并且我在尝试在命令行上生成时指定了 --use-xserver。
这将转换为以下 PHP 错误:
RuntimeException: The exit status code '1' says something went wrong:\nstderr: \"wkhtmltopdf: cannot connect to X server \n\"\nstdout: \"\"\ncommand: \/usr\/local\/bin\/wkhtmltopdf --lowquality --use-xserver...
但是,当我启动 X 服务器然后使用 PHP 运行 wkhtmltopdf 时,无论是否使用 --use-xserver,我都会遇到相同的错误,所以我认为 PHP 找不到 X 服务器。
如何让 PHP 使用 X 服务器,以便 wkhtmltopdf 可以从 PHP/Symfony2 中生成 PDF?
我的代码:
use Knp\Snappy\Pdf;
$snappy = new Pdf('/usr/local/bin/wkhtmltopdf');
return $snappy->getOutput($html, array(
'use-xserver' => true
));