Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ubuntu中的PHP shell_exec()_Php_Ubuntu 10.04_Shell Exec - Fatal编程技术网

ubuntu中的PHP shell_exec()

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

我正在使用ubuntu和libreOffice。我安装了
unoconv
,用于将
*.odp
文件转换为
*.pdf
。当我从终端运行命令
unoconv-f pdf myfile.odp
时,它工作得非常好。我想用PHP
shell\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我按照你说的做了更改,但仍然显示出相同的错误。