【发布时间】:2015-12-21 13:44:44
【问题描述】:
当从命令行以root 运行它时,它可以工作
unoconv -f csv $file
但是以www-data 运行时会返回此错误
Traceback (most recent call last):
File "/usr/bin/unoconv", line 1114, in <module>
office_environ(of)
File "/usr/bin/unoconv", line 203, in office_environ
os.environ['PATH'] = realpath(office.basepath, 'program') + os.pathsep + os.environ['PATH']
File "/usr/lib/python3.4/os.py", line 633, in __getitem__
raise KeyError(key) from None
KeyError: 'PATH'
更新
echo shell_exec('echo $PATH');
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
【问题讨论】:
-
www-data的$PATH和根的$PATH的值是多少?在运行命令之前尝试设置www-data的路径。见dirtyvital.wordpress.com/2012/11/11/…。 -
www-data的路径是什么意思? -
我的意思是将路径设置为不为空的东西。这样,密钥将存在于
os.environ字典中。例如,您可以将其设置为.或空目录的路径。 -
更新了我的问题..
-
好吧,好像不是空的。
shell_exec是什么——你在使用 PHP 吗?如果是这样,请添加该标签,并发布包含该调用的实际 PHP 代码。我以前没有使用过 PHP,但也许我可以帮忙。
标签: csv libreoffice unoconv