Почему супер глобальный элемент массива $ _SERVER ['SERVER_ADDR'] не возвращает правильное значение? [Дубликат]

Я считаю, что самый простой подход заключается в использовании функции format().

Например:

a = 13.949999999999999
format(a, '.2f')

13.95

Это создает число с плавающей точкой в ​​виде строки, округленной до двух десятичных знаков точек.

27
задан hakre 10 May 2012 в 11:34
поделиться

6 ответов

::1 - фактический IP. Это адрес обратной связи ipv6 (то есть localhost). Если вы используете ipv4, это будет 127.0.0.1.

Если вы хотите получить другой IP-адрес, вам нужно будет подключиться к серверу через другой сетевой интерфейс.

43
ответ дан Quentin 31 August 2018 в 10:42
поделиться

Если вы пытаетесь запустить localhost, этот ответ исправит вашу проблему. Только несколько изменений на

apache2/httpd.conf 

выполняют поиск всех слов «прослушать» ex:

Listen 80

Сделайте так:

Listen 127.0.0.1:80

, чем перезапустите apache

$_SERVER[REMOTE_ADDR]

покажет Listen 127.0.0.1

, вы можете увидеть ответ в этой подробной ссылке ответа

7
ответ дан Community 31 August 2018 в 10:42
поделиться

Посмотрите на вывод phpinfo(). Если адрес не указан на этой странице, адрес недоступен непосредственно через PHP.

-2
ответ дан dotancohen 31 August 2018 в 10:42
поделиться

Если вы хотите получить IP-адрес пользователя, вы можете сделать что-то вроде:

<?php
    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'];
    }
?>

<?php echo  "<br />".$ip;?>

Он получит фактический IP-адрес пользователя, независимо от прокси и т. д.

6
ответ дан Guillaume Flandre 31 August 2018 в 10:42
поделиться

Простой ответ: вы используете его на локальном сервере. Попробуйте запустить

function getUserIpAddr(){
    if(!empty($_SERVER['HTTP_CLIENT_IP'])){
        //ip from share internet
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    }elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
        //ip pass from proxy
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    }else{
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}

echo 'User Real IP - '.getUserIpAddr();

на реальном сервере. Или вы также можете использовать онлайн-исполнитель php.

0
ответ дан Jack Larson 31 August 2018 в 10:42
поделиться

$ _ SERVER ['REMOTE_ADDR'] - это IP-адрес клиента.

$ _ SERVER ['SERVER_ADDR'] - это IP-адрес сервера.

Ссылка: http://php.net/manual/en/reserved.variables.server.php

3
ответ дан Tushar 31 August 2018 в 10:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: