Должен ли MAMP возвращать :: 1 как IP на localhost?

Мне нужно получить IP-адрес пользователя. Мой localhost возвращает ::1 как IP. Мне любопытно, если это ожидаемое поведение? Я бегу MAMP на Snow Leopard.

Тот же вопрос, и нашел действительное решение, проверенное, работает хорошо. Я хотел иметь ip addy – от 127.0.0.1, а не вместо того, чтобы принимать :: 1 и обсуждать все проблемы IPv4 / 6. Итак, я несколько минут пробовал и упал на комментарий 2008 года, сделанный @Brad – здесь: http://board.issociate.de/thread/489575/SERVERquotREMOTEADDRquot-returning-1.html

Подведение итогов – (на Mac OS – в частности, Mountain Lion)

sudo vi /etc/apache2/httpd.conf

Найдите, где ваш apache «прослушивает» ips / ports и т. Д. Обычно это будет строка, похожая на эту

Listen 80

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

Listen 127.0.0.1:80

Перезапустите его. Перезапустите Apache. Вуаля!

Теперь $_SERVER[REMOTE_ADDR] будет выглядеть следующим образом: 127.0.0.1 .

Надеюсь, это поможет кому-то.

::1 – эквивалент IPv6 адреса IPv4 127.0.0.1 .

Вы можете конвертировать адрес IPv6 в адрес IPv4, используя функцию inet_ntop() как сказал Адам.

http://php.net/manual/en/function.inet-ntop.php

Изменение /etc/apache2/httpd.conf или даже /private/etc/hosts не является решением. Он возвращает :: 1, потому что это эквивалент IPv6 для старого (но золота) IPv4 127.0.0.1 . Поскольку он определен в /privates/etc/hosts , всякий раз, когда вы http://localhost к http://localhost он принимает IPv6 :: 1. Так что это ожидаемое поведение.

Обходным путем было бы напрямую обратиться к http://127.0.0.1 . Все будет хорошо. Но помните, что доступность IPv6 растет. Вы можете убедиться, что ваш сервер (после развертывания) будет реагировать только на IPv4, но в среднесрочной перспективе, если ваш сайт / веб-приложение не обрабатывает как IPv4, так и IPv6 правильно, есть большой шанс, что что-то пойдет не так в течение 1/2 лет. Или, скорее, мы никогда не узнаем.

для тех, кто не решает эту проблему, кажется, что файл hosts отсутствует или строка

 127.0.0.1 localhost 

в etc\hosts LINUX

в /private/etc/hosts устройства MAC

в \%WINDIR%\system32\drivers\etc\hosts WINDOWS xp / vista / 7/8 /

когда удаляются или missed файловые hosts или по default строка IPV6 будет установлена ​​по default

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

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

  • Правило «Перезапустить компьютер» не удалось выполнить при установке SQL Server 2008
  • Как подключиться к базе данных Unity
  • SQL Server - Столбец "недействителен в списке выбора, поскольку он не содержится ни в агрегатной функции, ни в предложении GROUP BY"
  • PHP Неустранимая ошибка: вызов неопределенной функции mssql_connect ()
  • Примечание. Преобразование массива в строку в
  • Как безопасно использовать зарезервированные имена SQL?
  • Неустранимая ошибка: вызов неопределенной функции sqlsrv_connect ()
  • Как добавить пользователя AzureAD к SQL Server для проверки подлинности Windows
  • В чем разница между Integrated Security = True и Integrated Security = SSPI?
  • Журнал ошибок служб компонентов - SQL Server Distributed Replay Client
  • Использование Excel VBA для запуска SQL-запроса
  • Давайте будем гением компьютера.