Home >Backend Development >PHP Tutorial >centos - php 用 exec 执行Linux命令时,返回 127 错误码

centos - php 用 exec 执行Linux命令时,返回 127 错误码

WBOY
WBOYOriginal
2016-06-06 20:38:311839browse

服务器centos,因为需要调用phantomjs,已经安装了phantomjs的二进制文件,并且,在putty上尝试了phantomjs --version能正常输出:1.9.8.
然后试了下:

<code>exec("phantomjs --version", $o, $e);
echo $e;//返回127
</code>

很纳闷,再试了下:

<code>exec("ls", $o, $e);
echo $e;//还是返回127
</code>

谷歌很久,有的人说要采用绝对路径,遂再试了下:

<code>#which ls
/bin/ls
</code>

于是再在php中输入:

<code>exec("/bin/ls", $o, $e);
echo $e;//还是返回127
</code>

查看php.ini,safe_mode=Off,disble_functions里也没有禁用exec()和system()等函数,按理说php应该有执行exec的权限啊,换成system(),shell_exec均是返回127,我快疯了,求大神解答,这个exec函数到底该杂用

回复内容:

服务器centos,因为需要调用phantomjs,已经安装了phantomjs的二进制文件,并且,在putty上尝试了phantomjs --version能正常输出:1.9.8.
然后试了下:

<code>exec("phantomjs --version", $o, $e);
echo $e;//返回127
</code>

很纳闷,再试了下:

<code>exec("ls", $o, $e);
echo $e;//还是返回127
</code>

谷歌很久,有的人说要采用绝对路径,遂再试了下:

<code>#which ls
/bin/ls
</code>

于是再在php中输入:

<code>exec("/bin/ls", $o, $e);
echo $e;//还是返回127
</code>

查看php.ini,safe_mode=Off,disble_functions里也没有禁用exec()和system()等函数,按理说php应该有执行exec的权限啊,换成system(),shell_exec均是返回127,我快疯了,求大神解答,这个exec函数到底该杂用

检查下你当前运行PHP脚本的用户
我用root用户测试了下,不会有什么错
exec 或者system 运行的命令,首先应该是当前运行脚本用户有执行此程序的权限

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn