这是一个创建于 3532 天前的主题,其中的信息可能已经有所发展或是发生改变。
服务器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函数到底该杂用
7 条回复 • 2017-01-18 23:30:28 +08:00
|
|
1
msg7086 2015-01-27 23:35:56 +08:00 via iPhone
你的ls存在哪?
|
|
|
2
haozhang 2015-01-27 23:40:10 +08:00 via iPad
which ls 或者where is ls,看看ls在哪里。
|
|
|
3
kisshere 2015-01-27 23:44:48 +08:00 via Android
@ msg7086 @ haozhang 谢谢,先不管ls这个命令,我是想调用phantomjs,我找到了phantomjs二进制文件所在的文件夹,在exec函数里加了这个文件的绝对路径,返回码还是127,快绝望了,咋办
|
|
|
4
msg7086 2015-01-27 23:47:27 +08:00 via iPhone
@ kisshere 安全模式?权限?chrooted?
|
|
|
5
kisshere 2015-01-28 00:05:17 +08:00 via Android
safe_mode=off,权限和chroot什么意思?
|
|
|
6
yangg 2015-01-28 11:06:33 +08:00
127是文件 找不到,node找不到应该是
$path = getenv('PATH') ? PATH_SEPARATOR.getenv('PATH') : ''; putenv("PATH=/usr/local/bin$path");
|