为什么PHP exec()命令不运行?

时间:2013-02-23 02:14:30

标签: php command exec

我有一个非常简单的PHP脚本来尝试使用exec命令。代码是

 <?php
// outputs the username that owns the running php/httpd process
// (on a system with the "whoami" executable in the path)
echo("test<br>");
echo exec('whoami');
echo("test");
?>

然而,当我访问该页面时,它只是打印出来:

test
test

它不打印&#34; whoami&#34;的输出。命令,从命令行运行时显示

me

这是什么问题?我无法解决这个问题。

非常感谢!

1 个答案:

答案 0 :(得分:0)

  

(在路径中具有“whoami”可执行文件的系统上)

与所有环境变量一样,

PATH不是系统范围的,而是最终每个进程

也就是说,尽管典型的bash会话可能包含PATH中此可执行文件的路径,但PHP脚本运行的环境(例如,Apache CGI上下文)却没有。这可能是出于任何原因。

提供whoami的绝对路径,而不是。