1

我有一个非常简单的 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

它不打印“whoami”命令的输出,从命令行运行时会显示

me

这里有什么问题?我无法解决。

非常感谢!

4

1 回答 1

0

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

PATH像所有环境变量一样,不是系统范围的,而是最终每个进程的

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

而是提供一个绝对路径whoami

于 2013-02-23T02:17:26.103 回答