php中的shell_exec适用于ls等默认shell命令,但与hadoop命令的工作方式不同

时间:2016-04-07 12:24:36

标签: php shell hadoop

shell_exec中使用php

$make=shell_exec('ls');
echo $make;

它会在我们的网页中返回结果,但是当我们使用hadoop fs -ls而不是ls时,它不返回任何内容,shell_exec与hadoop shell命令一起使用 或者有没有其他方法来做同样的事情我也尝试使用python脚本中的命令,然后使用php's shell_exec执行这些脚本,但仍然没有好

1 个答案:

答案 0 :(得分:1)

可能会发生handoop可执行文件不在当前工作目录或上下文的路径中。 尝试使用完整路径执行命令。 例如: 而不是使用像shell_exec('hadoop fs -ls');这样的命令 使用 shell_exec('/usr/bin/hadoop fs -ls');

我不知道你的系统上handoop可执行文件的确切位置。使用mlocate实用程序来查找确切的文件位置。