Apache/PHP + LibreOffice

Posted

技术标签:

【中文标题】Apache/PHP + LibreOffice【英文标题】: 【发布时间】:2012-05-16 12:24:25 【问题描述】:

我已经在我的 CentOS 机器上安装了 LibreOffice RPMS(已经尝试过 3.5.3 和 3.4.6),并且我试图让 php 运行一个调用 LibreOffice 的 shell 脚本。在 shell 脚本中,它运行执行这一行:

/opt/libreoffice3.4/program/soffice --headless -convert-to $extension.pdf "$1" -outdir $folder

但是,此命令将导致出现以下消息:

./createpdf.sh: line 8: /opt/libreoffice3.4/program/soffice: Permission denied

线路本身很好。如果我回显它并在 SSH 中手动运行它,它工作正常。这很可能是因为我以不同的用户身份运行它(注意:不是作为安装它的用户,也不是作为 root 用户),具有不同的权限。

虽然我很绝望,但我已经尝试将整个 libreoffice 文件夹更改为 777,并尝试让“apache”用户成为所有者。那里没有运气。有没有人知道为什么它不让 apache 运行它,以及我该如何解决这个问题?

【问题讨论】:

你想通过php制作pdf吗? $folder 输出文件夹有哪些权限? 【参考方案1】:

作为从命令行运行的替代方案,您是否考虑过使用PUNO PHP 包装器运行 UNO(COM 的 Open/Libre Office 替代方案)。这样就不用担心权限问题了

【讨论】:

【参考方案2】:

另见Universal Network Objects (UNO):有 Python、Java 等使用它的桥梁。有一些应用程序可以简化转换的使用,请参阅Docvert 和 JODConverter(jODconverter 和 pyODconverter)。

所有这些都可以被 PHP 调用为 web-service 或 exec。

【讨论】:

以上是关于Apache/PHP + LibreOffice的主要内容,如果未能解决你的问题,请参考以下文章

apache配置 php中没有php5apache2_4.dll

NGINX+PHP好,还是NGINX+APACHE+PHP好

nginx/apache/php 与 nginx/php

windows 配置 apache + php

php独立环境的安装:apache php mysql

【求助】安装并且配置好apache+php+mysql之后该咋办捏?