【问题标题】:WKHTMLTOPDF and "Error: Unable to create temporery file"WKHTMLTOPDF 和“错误:无法创建临时文件”
【发布时间】:2013-12-07 08:43:36
【问题描述】:

我用 PHP 编写了一段代码来使用 WKHTMLTOPDF 二进制文件生成 PDF。在我不得不重新编译我的 Apache 之前,它工作正常。现在它失败并出现错误Error: Unable to create temporery file(这是准确的措辞)。

错误可重现的情况有点复杂。我设法缩小错误范围,现在我很确定错误是由于运行 Apache 的用户而发生的。在我看来,当 WKTHMLTOPDF 作为没有主文件夹的用户运行时,它无法访问用户主文件夹中的临时文件夹。

我当然可以更改 Apache 的用户,但我宁愿一劳永逸地解决这个问题。为此,如果我能以某种方式为 WKHTMLTOPDF 设置临时文件夹或至少打印其当前值以使其有效,那就太好了!有谁知道这两个怎么做?

顺便说一句,我正在使用 WKHTMLTOPDF 0.11.0 rc1。

【问题讨论】:

    标签: wkhtmltopdf


    【解决方案1】:

    我今天在 CentOS 6.7 下的 Rails4 + pdfkit gem(0.8.2) + wkhtmltopdf(0.12.2.1) 看到同样的错误。

    此错误来自 wkhtmltopdf,原因是它无法创建临时文件。 wkhtmltopdf 依赖于一些临时文件名创建 API(我不确定),但可能以下显示了一些提示:

    $ man tempfile 
    $ man tempnam
    

    就我而言,我的 TMPDIR 环境变量显示了错误的路径(我不小心删除了目录!),因此 wkhtmltopdf 无法创建工作文件。

    当我取消设置 TMPDIR 时,它起作用了!当然,给 TMPDIR 设置正确的存在目录也应该没问题。

    【讨论】:

      猜你喜欢
      • 2015-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-10
      • 2017-07-22
      • 2014-10-02
      • 1970-01-01
      • 2013-05-05
      相关资源
      最近更新 更多