我有一个非常简单的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
这是什么问题?我无法解决这个问题。
非常感谢!
答案 0 :(得分:0)
与所有环境变量一样,(在路径中具有“whoami”可执行文件的系统上)
PATH
不是系统范围的,而是最终每个进程。
也就是说,尽管典型的bash会话可能包含PATH
中此可执行文件的路径,但PHP脚本运行的环境(例如,Apache CGI上下文)却没有。这可能是出于任何原因。
提供whoami
的绝对路径,而不是。