php 用 exec 调用外部命令时,返回 127 错误码是什么意思?

2015-01-27 23:23:55 +08:00
 kisshere
服务器centos,因为需要调用phantomjs,已经安装了phantomjs的二进制文件,并且,在putty上尝试了phantomjs --version能正常输出:1.9.8,然后试了下:
exec("phantomjs --version", $o, $e);
echo $e;//返回127
很纳闷,再试了下:
exec("ls", $o, $e);
echo $e;//还是返回127
谷歌很久,有的人说要采用绝对路径,遂再试了下:
exec("/usr/bin/ls", $o, $e);
echo $e;
我快疯了,还是不行,求大神解答,这个exec函数到底该杂用
7662 次点击
所在节点    问与答
7 条回复
msg7086
2015-01-27 23:35:56 +08:00
你的ls存在哪?
haozhang
2015-01-27 23:40:10 +08:00
which ls 或者where is ls,看看ls在哪里。
kisshere
2015-01-27 23:44:48 +08:00
@msg7086
@haozhang
谢谢,先不管ls这个命令,我是想调用phantomjs,我找到了phantomjs二进制文件所在的文件夹,在exec函数里加了这个文件的绝对路径,返回码还是127,快绝望了,咋办
msg7086
2015-01-27 23:47:27 +08:00
@kisshere 安全模式?权限?chrooted?
kisshere
2015-01-28 00:05:17 +08:00
safe_mode=off,权限和chroot什么意思?
yangg
2015-01-28 11:06:33 +08:00
127是文件 找不到,node找不到应该是

$path = getenv('PATH') ? PATH_SEPARATOR.getenv('PATH') : '';
putenv("PATH=/usr/local/bin$path");
jiangle
2017-01-18 23:30:28 +08:00
我想问最后解决了吗?我也遇到 127 这个问题了 @kisshere

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/166019

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX