wkhtmltopdf无法在php脚本中工作

时间:2014-09-24 13:35:59

标签: php wkhtmltopdf

我想使用wkhtmltopdf进行HTML到PDF的转换。

当我尝试通过linux终端进行转换时,它可以正常工作。

但是当我尝试使用php脚本时,它无效。

我正在尝试直接执行二进制文件。

这是我正在尝试使用PHP的代码。

exec('/home/binary_loc/wkhtmltopdf http://www.google.com /home/user/output.pdf');

我的二进制文件位于“index.php”所在的文件夹中。

我试图用PHP获取wkhtmltopdf二进制版本,然后返回版本。

但是我无法理解为什么不能用php for pdf执行它。

以下是使用php进行版本检查的代码。

error_reporting(E_ALL);
ini_set('display_errors', '1');
$cmd = "./wkhtmltopdf --version";
$t = shell_exec($cmd);
echo $t;
exit()

有人有解决方案吗?

我想要这个,因为这也可以在共享主机中使用。无需在服务器中安装wkhtmltopdf。

2 个答案:

答案 0 :(得分:0)

定义wkhtmltopdf可执行文件的完整路径以及输出文件夹的完整路径。

要调试尝试这样的事情:

shell_exec("/home/binary_loc/wkhtmltopdf http://www.google.com /home/user/output.pdf > /home/user/debug.log 2>&1");

将错误传递给文件

答案 1 :(得分:0)

Exec可能没有执行文件的权限。 PHP通常以apachenobody运行,而不是您的用户帐户。您必须确保为其运行的任何用户设置执行位。您可以使用其所在目录中的chmod 755 wkhtmltopdf来向所有用户授予读取和执行权。

请注意,在某些共享主机上,exec()已被禁用。请与您的主人核实,以确保您可以访问它。