无法通过php中的exec()函数运行wkhtmltopdf commad但是同样的命令在命令行上运行

时间:2014-09-23 13:25:46

标签: php ubuntu pdf-generation wkhtmltopdf

我正在使用wkhtmltopdf从html生成pdf,我试图通过PHP exec()函数运行以下命令,但它不生成pdf,但我没有显示任何错误。但是,当我通过命令行运行相同的命令时,它可以工作。

下面是我用来执行pdf generate命令的PHP代码。

$command = "wkhtmltopdf -s A4 /inputhtmlfilepath/test.html /outputfilepath/output.pdf";
exec($command);

有关我的设置的一些信息:

操作系统 - Ubuntu 12.04

PHP版本 - 5.4.3

任何帮助将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:6)

如果您收到'无法连接到X服务器错误'请试试这个。

1.安装xvfb软件包

 sudo apt-get install xvfb

2.创建一个文件为' wkhtmltopdf.sh'并将以下代码添加到该并保存

xvfb-run -a -s "-screen 0 640x480x16" wkhtmltopdf "$@"

3.然后将此文件移至/ usr / local / bin并授予权限

sudo chmod 555 /usr/local/bin/wkhtmltopdf.sh

4.然后尝试通过运行命令创建pdf。

/usr/local/bin/wkhtmltopdf.sh input.html output.pdf