不能运行wkhtmltopdf commad通过exec()函数在php中,但相同的命令在命令行上工作
问题描述:
我使用wkhtmltopdf从html生成pdf,我试图通过PHP exec()函数运行下面的命令,但它的不生成pdf,但我没有显示任何错误。但是,当我通过命令行运行相同的命令它的作品。不能运行wkhtmltopdf commad通过exec()函数在php中,但相同的命令在命令行上工作
以下是我用来执行pdf生成命令的PHP代码。
$command = "wkhtmltopdf -s A4 /inputhtmlfilepath/test.html /outputfilepath/output.pdf";
exec($command);
关于我的设置一些信息:
操作系统 - Ubuntu的12.04
PHP版本 - 5.4.3
任何帮助,将不胜感激,谢谢。
答
如果你正在'无法连接到X服务器错误',那么请试试这个。
1.安装XVFB包
sudo apt-get install xvfb
2.创建一个文件作为 'wkhtmltopdf.sh' 和下面的代码添加到并保存
xvfb-run -a -s "-screen 0 640x480x16" wkhtmltopdf "[email protected]"
3.Then移动这个文件到/ usr/local/bin并授予权限
sudo chmod 555 /usr/local/bin/wkhtmltopdf.sh
4.然后尝试通过运行命令创建pdf。
/usr/local/bin/wkhtmltopdf.sh input.html output.pdf
+1
这对我有用。谢谢 – 2014-09-25 12:42:09
使用文件的完整路径;确保Web服务器用户有权使用目录/文件。 – 2014-09-23 13:31:14
@Digitial,我给出了输入和输出文件的完整路径,并且该文件夹对所有用户具有完全权限,现在设置为777。仍然没有运气。 – 2014-09-23 13:34:18
使用[output and return var](http://php.net/manual/en/function.exec.php)选项查看正在发生的事情。 – 2014-09-23 13:41:25