使用PHP显示服务器的本地IP地址

使用PHP显示服务器的本地IP地址,php,server,ip,apache2,lan,Php,Server,Ip,Apache2,Lan,我需要显示服务器的地址,通过它可以在LAN中识别。 我试着用 echo $_SERVER["SERVER_ADDR"]; 但这只返回127.0.0.1,而不是192.168.xx.xx。 如果不访问WWW,我如何获得第二个呢?希望这会有所帮助 function getLanIP(){ exec("ipconfig /all", $output); foreach($output as $line){ if (preg_match("/(.*)IP

我需要显示服务器的地址,通过它可以在LAN中识别。 我试着用

echo $_SERVER["SERVER_ADDR"];
但这只返回127.0.0.1,而不是192.168.xx.xx。 如果不访问WWW,我如何获得第二个呢?

希望这会有所帮助

function getLanIP(){
    exec("ipconfig /all", $output);
        foreach($output as $line){
            if (preg_match("/(.*)IPv4 Address(.*)/", $line)){
                $ip = $line;
                $ip = str_replace("IPv4 Address. . . . . . . . . . . :","",$ip);
                $ip = str_replace("(Preferred)","",$ip);
            }
        }
    return $ip;
}
或者类似的


解决方案比我想象的要简单。 只需使用:

exec ("hostname -I", $ip);
echo $ip[0];

是的,服务器本身是127.0.0.1…@treyBake我知道是的,但我需要一种方法来打印它的局域网地址。我不是问为什么服务器地址不起作用,只是说它不起作用,@treyBake引用你发布的链接,这不是一个解决方案,因为我的安装程序没有访问www的权限,你不需要访问www来访问一个网站-只需交换你的url就可以了?我想你一般不会明白我想问的。我想要我的服务器的局域网地址。而不是外部IP。您发布了一个问题,该问题询问外部地址,并使用外部站点作为解决方案。为什么会是双重的?代码只回答;您的回答为我指出了一种更简单的方法,只需使用主机名——我必须包括大写字母I,它输出的正是我所需要的。
exec ("hostname -I", $ip);
echo $ip[0];