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


shell_exec in php works good for the default shells commands such as ls but is not working the same with hadoop commands

php中使用shell_exec时,例如

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

它在我们的网页中返回结果,但当我们使用hadoop fs -ls而不是ls时,它不会返回任何内容。shell_exec与hadoopshell命令一起工作吗或者有其他方法可以做到这一点吗?我也尝试过使用python脚本中的命令,然后使用php's shell_exec执行这些脚本,但仍然没有好的

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

我不知道handoop可执行文件在您的系统上的确切位置。使用mlocate实用程序可以找到确切的文件位置。