PHP Shell_exec()意外输出?

PHP Shell_exec()意外输出?,php,shell-exec,Php,Shell Exec,我正在编写一些脚本,试图从我大学的计算机上获取信息 当我运行代码时: $you = shell_exec('whoami'); echo $you; $host = shell_exec('hostname'); echo $host; 返回的输出是Apache,但这不是我所期望的输出。在尝试解决此问题时,我尝试运行以下代码: $you = shell_exec('whoami'); echo $you; $host = shell_exec('hostname'); ec

我正在编写一些脚本,试图从我大学的计算机上获取信息

当我运行代码时:

$you = shell_exec('whoami');  
echo $you;
$host = shell_exec('hostname');  
echo $host;
返回的输出是Apache,但这不是我所期望的输出。在尝试解决此问题时,我尝试运行以下代码:

$you = shell_exec('whoami');  
echo $you;
$host = shell_exec('hostname');  
echo $host;
从中我得到了,
ad7ad7.securesites.net
,这也不是我想要的主机名。这似乎是一个虚拟专用服务器

所以我的主要问题是如何绕过这个私有服务器?因为我想获取计算机的信息,而它似乎正在接收这台服务器。我确信这是一件安全的事情,但我只是想知道周围是否有人(或者也许我做错了什么,我真的不知道)

我知道已经有了获取主机名的函数。但我使用shell_exec实现其他功能,我相信这台服务器正是我想要实现的


非常感谢您的帮助。

当您从浏览器打开页面/脚本时,实际上是web服务器在运行php脚本(apache、www等)。当您直接从命令行运行php脚本时,当您/您的用户执行php时,您可能会看到预期的结果。有没有办法让它像命令行一样在浏览器中运行?不太可能,web服务器是(而且应该是)真正不相关的(因为没有更好的词)到它正在运行的操作系统。甚至你的命令行环境本身也可能是一个虚拟系统。是的,这些都是完全不相关的世界。服务器通常不知道你是谁。也许你应该详细说明你想在什么样的环境下做什么?也许还有另一种方法。我想做的是为我所在大学的计算机实验室绘制一张计算机可用性地图。但是我不想对电脑重新成像。