gpt4 book ai didi

linux - Unoconv 作为 apache 用户无法创建文件

转载 作者:行者123 更新时间:2023-12-02 01:29:40 27 4
gpt4 key购买 nike

我以 apache 用户身份使用 unoconv 来创建 PDF 文件。作为终端用户它运行良好,但是当我作为 apache 用户运行它时。我收到错误。

sudo -u apache  /usr/bin/unoconv -o /home/gloryque/tmp/1431347151.pdf -f pdf /home/gloryque/tmp/8.doc

我收到错误

mkstemp("/usr/share/httpd/.execoool7VwpU") failed: Permission denied
mkstemp("/usr/share/httpd/.execooouoUVdw") failed: Permission denied
mkstemp("/usr/share/httpd/.execooopRuy27") failed: Permission denied
mkstemp("/usr/share/httpd/.execooov92dRJ") failed: Permission denied
mkstemp("/usr/share/httpd/.execoooiZZVFl") failed: Permission denied
mkstemp("/usr/share/httpd/.execooowk5LuX") failed: Permission denied
mkstemp("/usr/share/httpd/.execoooCgtDjz") failed: Permission denied
mkstemp("/usr/share/httpd/.execoooLxXy8a") failed: Permission denied
mkstemp("/usr/share/httpd/.execooo8LCvXM") failed: Permission denied

我使用的是 centos 7 机器

最佳答案

我推荐以下内容:

  • 使用最新版本的 unoconv(发布时至少为 v0.7,或者今天来自 GitHub 的 master 分支)

  • 使用 LibreOffice 的最新稳定版本(最新版本使用更少的内存,通常速度更快且崩溃更少)

  • 使用 native LibreOffice python 二进制文件来运行 unoconv,例如。/opt/libreoffice4.4/program/python/usr/bin/unoconv -f pdf 文件.doc

  • 对 unoconv 脚本 shebang 中的 python 路径进行硬编码,因此将第一行放在 #!/opt/libreoffice4.4/program/python 而不是 #!/usr/bin/env python。 (Apache/PHP通常不设置PATH,所以unoconv失败)

  • 确保运行 unoconv 的用户有权访问其主目录

如果您执行上述操作,一切都会顺利进行。如果 LibreOffice 仍然崩溃,您应该将其与上游项目联系起来。另请注意,LibreOffice 无法同时处理多个连接/客户端,因此理想情况下,您的 PHP 脚本应正确锁定和/或排队请求。

如果您仍有任何问题,请报告至:http://github.com/dagwieers/unoconv/issues

关于linux - Unoconv 作为 apache 用户无法创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30168332/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com