Symfony2 プロジェクト内で HTML から PDF を生成しようとするために、wkhtmltopdf 0.11 と KNP\Snappy をインストールしました。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 サーバーを検出できないと考えられます。
wkhtmltopdf が PHP/Symfony2 内から PDF を生成できるように、PHP に X サーバーを使用させるにはどうすればよいですか?
私のコード:
use Knp\Snappy\Pdf;
$snappy = new Pdf('/usr/local/bin/wkhtmltopdf');
return $snappy->getOutput($html, array(
'use-xserver' => true
));