【问题标题】:Not able to run wkhtmltopdf commad through exec() function in php but same command works on command line无法通过 php 中的 exec() 函数运行 wkhtmltopdf commad,但相同的命令在命令行上有效
【发布时间】:2014-11-17 17:36:33
【问题描述】:

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

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

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

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

操作系统 - Ubuntu 12.04

PHP 版本 - 5.4.3

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

【问题讨论】:

  • 使用文件的完整路径;确保 Web 服务器用户有权访问目录/文件。
  • @Digitial,我已经给出了输入和输出文件的完整路径,并且该文件夹对所有用户都具有完全权限,现在设置为 777。还是没有运气。
  • 使用output and return var 选项查看发生了什么。
  • 是的,我关注了这个讨论,尝试安装 sudo apt-get install xvfb。但这并没有帮助......尝试其他选择......

标签: php ubuntu pdf-generation wkhtmltopdf


【解决方案1】:

如果您收到“无法连接到 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

【讨论】:

    猜你喜欢
    • 2015-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 2015-03-26
    • 2014-12-02
    • 1970-01-01
    相关资源
    最近更新 更多