ubuntu中的PHP shell_exec()
我正在使用ubuntu和libreOffice。我安装了ubuntu中的PHP shell_exec(),php,ubuntu-10.04,shell-exec,Php,Ubuntu 10.04,Shell Exec,我正在使用ubuntu和libreOffice。我安装了unoconv,用于将*.odp文件转换为*.pdf。当我从终端运行命令unoconv-f pdf myfile.odp时,它工作得非常好。我想用PHPshell\u exec()方法做同样的事情。因此,我编写了以下代码: $output = shell_exec('unoconv -f pdf test.odp 2>&1'); echo $output; 但它显示了以下错误: /usr/bin/python: /opt/l
unoconv
,用于将*.odp
文件转换为*.pdf
。当我从终端运行命令unoconv-f pdf myfile.odp
时,它工作得非常好。我想用PHPshell\u exec()方法做同样的事情。因此,我编写了以下代码:
$output = shell_exec('unoconv -f pdf test.odp 2>&1');
echo $output;
但它显示了以下错误:
/usr/bin/python: /opt/lampp/lib/libz.so.1: no version information available (required by /usr/bin/python)
Traceback (most recent call last): File "/usr/bin/unoconv", line 24, in import uno,
unohelper File "/usr/lib/python2.7/dist-packages/uno.py", line 34, in import pyuno SystemError: dynamic module not initialized properly
我怎样才能解决这个问题
提前谢谢。对我来说也是同样的错误。。但是如果我们用exec()运行它,它会显示一些不同的错误
此外,apache的HTTPD以用户身份运行,这是它背后的主要问题。若它可以由root用户运行,那个么问题将得到解决 在终端中运行unoconv-f pdf test.odp 2>&1时,是否会引发相同的错误?请执行$output=shell_exec('env&&unoconv-f pdf test.odp 2>&1');echo$输出;和你的贝壳相比env@EduardLuca没有,但unoconv-f pdf test.odp在终端中运行良好。并且在php中不显示带有unoconv-f pdf test.odp的任何内容。2>&1
将stderr
重定向到stdout
。可能是此命令产生了一些错误,这些错误在运行时未重定向stderr
。此外,在使用exec/shell\u exec执行命令时,最好使用绝对路径/etc@Timur我按照你说的做了更改,但仍然显示出相同的错误。