我用的APACHE服务器,确认服务器已启动,为什么每次调用getenv("REMOTE_ADDR")都返回false啊。

解决方案 »

  1.   

    function getClientIP()
    {
    if (isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
    {
    $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];  
    }  
    elseif (isset($_SERVER["HTTP_CLIENT_IP"]))    
    {  
    $ip = $_SERVER["HTTP_CLIENT_IP"];  
    }  
    else    
    {  
    $ip = $_SERVER["REMOTE_ADDR"];  
    }

    return $ip;              
    }
      

  2.   

    http://cn.php.net/manual/zh/reserved.variables.php#70640if (getenv('HTTP_CLIENT_IP')) {
    $IP = getenv('HTTP_CLIENT_IP');
    }
    elseif (getenv('HTTP_X_FORWARDED_FOR')) {
    $IP = getenv('HTTP_X_FORWARDED_FOR');
    }
    elseif (getenv('HTTP_X_FORWARDED')) {
    $IP = getenv('HTTP_X_FORWARDED');
    }
    elseif (getenv('HTTP_FORWARDED_FOR')) {
    $IP = getenv('HTTP_FORWARDED_FOR');
    }
    elseif (getenv('HTTP_FORWARDED')) {
    $IP = getenv('HTTP_FORWARDED');
    }
    elseif ($_SERVER['REMOTE_ADDR']) {
    $IP = $_SERVER['REMOTE_ADDR'];

    else {
    $IP = "unknow";
    }