0

我在 CentOS 7.3.16.11 上安装了 UNOCONV 库。当我从 CLI 运行文件转换时,它工作正常,并且我得到了 PDF 文档:
unoconv -d spreadsheet --format=pdf -o temp/ ./document.docx

但是当我尝试从 PHP 5.6.29 执行它时,它没有给我任何输出 PDF。我从 Python 环境中得到一个错误:
Traceback (most recent call last): File "/usr/bin/unoconv", line 1196, in <module> run() File "/usr/bin/unoconv", line 1108, in run office_environ(of) File "/usr/bin/unoconv", line 202, in office_environ os.environ['PATH'] = realpath(office.basepath, 'program') + os.pathsep + os.environ['PATH'] File "/usr/lib64/python2.7/UserDict.py", line 23, in \__getitem__ raise KeyError(key) KeyError: 'PATH'

检查了我的环境中的路径:
echo $PATH
输出是:
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/username/.local/bin:/home/username/bin

从 php 运行 UNOCONV 有什么问题?

4

1 回答 1

0

除了弄清楚如何在使用 php 时正确设置 PATH 之外,您还可以破解 unoconv 脚本并将第 1174 行从

os.environ['PATH'] = realpath(office.basepath, 'program') + os.pathsep + os.environ['PATH']

os.environ['PATH'] = realpath(office.basepath, 'program') + os.pathsep + os.environ['PATH'] if 'PATH' in os.environ.keys() else ''

于 2017-03-06T13:33:29.520 回答