首页 > 解决方案 > $_SERVER['SERVER_ADDR'] 总是给出服务器的主 IP,而不是 php 中实际运行的服务器 IP

问题描述

在我的服务器上,有 10 个 IP 可用。每次运行都会自动改变这十个IP中的运行IP。下面的代码总是返回我的服务器的主 IP,而不是服务器的实际运行 IP。

<?PHP
echo $_SERVER['SERVER_ADDR'];
?>

如何获取我的服务器的实际运行 IP?

标签: phpserverip

解决方案


尝试这个,

function getIPAddress() {  
 
 if(!empty($_SERVER['HTTP_CLIENT_IP'])) {  
            $ip = $_SERVER['HTTP_CLIENT_IP'];  
    }  
 
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {  
            $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];  
 }  
else{  
         $ip = $_SERVER['REMOTE_ADDR'];  
 }  
 return $ip;  

}


推荐阅读