php exec(';whoami';)在我的一台服务器上返回空白

php exec(';whoami';)在我的一台服务器上返回空白,php,apache,Php,Apache,我有两台机器不是我设置的。我遇到了某种权限问题,我可以访问其中一台机器上的网络驱动器,但不能访问另一台机器上的网络驱动器。通过研究,有人提出,可能是apache服务器所在的主机和服务器本身由不同的用户设置。因此,我做了一个实验,通过命令提示符运行“whoami”命令(两者都是windows机器),查看用户是谁,他们在哪里。我还通过php运行了相同的命令,以查看用户是什么php。以下是结果 1) 机器#1命令提示符-->“ftxs\grodriguez”#这是我太酷了 2) 机器#1通过php--

我有两台机器不是我设置的。我遇到了某种权限问题,我可以访问其中一台机器上的网络驱动器,但不能访问另一台机器上的网络驱动器。通过研究,有人提出,可能是apache服务器所在的主机和服务器本身由不同的用户设置。因此,我做了一个实验,通过命令提示符运行“whoami”命令(两者都是windows机器),查看用户是谁,他们在哪里。我还通过php运行了相同的命令,以查看用户是什么php。以下是结果

1) 机器#1命令提示符-->“ftxs\grodriguez”#这是我太酷了

2) 机器#1通过php-->“nt权限\系统”#不知道这意味着什么

3) 机器#2命令提示符-->“usa90prod-db01\tzhang#u admin”#这是以前的技术人员

4) 机器#2通过php-->nothing/blank#我指的是什么也没有返回

我知道whoami在机器#2上工作,因为我使用“dir”命令运行它,它确实返回了一个目录列表

问题是这意味着什么,以及如何使机器2上的php服务器认为它是正确的用户(我想在本例中是tzhan)?下面是我的php代码

<?php
    $result = shell_exec('whoami');
    echo $result;
?>


您可能不希望Web服务器使用
系统运行。那真可怕。这相当于unix机器上的“root”。如果您指的是machine#1,那么这没关系,因为它只用于实验。我没有包含任何重要的内容。但是,机器2呢?这就是一直给我带来麻烦的一个。是的,机器1作为系统运行。这不是个好兆头。最好检查一下whoami是否真的在运行。它可能会失败,并将错误消息转储到stderr(不确定shelL_exec()是否捕获该消息)。改为尝试exec()并捕获退出代码;在这两台机器上,我都得到了相同的结果。。。机器1的系统和机器2的黑色系统