remote_addr не возвращает адрес IPv4 - PullRequest
9 голосов
/ 30 мая 2010

Я использую xampp на локальном хосте, и когда я использую $_SERVER["REMOTE_ADDR"], он возвращает ::1 (также делает это в phpinfo()). Почему он это делает? Я хочу, чтобы он возвращал нормальный IP-адрес, такой как 127.0.0.1. Моя операционная система Windows Vista.

Ответы [ 4 ]

10 голосов
/ 30 мая 2010

::1 - это IPv6-адрес и сокращение для 0:0:0:0:0:0:0:1, то есть адрес обратной связи для локального компьютера. Так что ::1 - это то же самое, что и 127.0.0.1 только через IPv6 вместо IPv4.

8 голосов
/ 30 мая 2010

Ваш Apache прослушивает IPv6 соединений по умолчанию (::1 означает локальный шлейф ). Если вы действительно хотите использовать IPv4, попробуйте отключить отключение подключений IPv6 в конфигурации Apache:

Если вы хотите, чтобы Apache обрабатывал только IPv4-соединения, независимо от того, что ваша платформа и APR будут поддерживать, укажите IPv4-адрес во всех директивах Listen, как в следующих примерах:

Listen 0.0.0.0:80
Listen 192.170.2.1:80
3 голосов
/ 14 июня 2015

Перейти к панели управления XAMPP. Откройте Apache (httpd.conf), который находится в первой строке, то есть Действия модуля Apache. Перейдите на прослушивание (вы можете нажать Ctrl + F), которое показывает 80 (если у вас активен ipv6), измените его на Listen 0.0.0.0:80 и все готово. Перезапустите Apache, и вы больше не увидите ::1 в вашем браузере. Это с радостью вернет ваш локальный хост, т.е. 127.0.0.1

0 голосов
/ 01 апреля 2012

Вы должны отключить поддержку IPv6 в вашей ОС, чтобы apache прекратил показывать эти адреса формата IPv6, когда вы хотите формат IPv4. Я отключил поддержку IPv6, и теперь она работает как положено.

Следующие инструкции по отключению IPv6 могут быть полезны, http://support.microsoft.com/kb/929852

Просто чтобы вы знали, что я выполнил шаги, описанные в приведенной выше ссылке, и я использую Windows 7, а не Vista, хотя я сомневаюсь, что могут быть какие-либо или многие различия.

Недавно я столкнулся с этой проблемой, хотя не помню, чтобы включение поддержки ipv6 в моей системе могло быть сделано Microsoft в одном из своих обновлений (возможно).

...