http://localhost не работает
Я использую xampp 1.7.1 PHP 5.2.9
пинговал localhost на cmd и он показал
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms
файл hosts имеет
127.0.0.1 localhost
127.0.0.1 localhost.com
127.0.0.1 www.localhost.com
какие-нибудь другие идеи? http://127.0.0.1/ и http://ipaddress/ работает
7 ответов
::1
это версия localhost для IPv6, поэтому она работает.
Localhost всегда транслируется в петлевой IP-адрес
127.0.0.1
в IPv4 или::1
в IPv6.
Есть ли странный VirtualServer для localhost, который отличается от настроенного по умолчанию? Когда вы используете "localhost", он может соответствовать конфигурации ServerAlias или ServerName. Если эта конфигурация плохая (например, неправильный wwwroot), то она не будет работать с локальным хостом, но может работать с IP.
Так что проверьте ваш httpd.conf для localhost
, Или добавить ServerAlias localhost
к VirtualServer, который работает правильно.
- Кристофер Карел
Причина, по которой пинг отвечает этим адресом, но просмотр не удается, заключается в том, что пинг использует IPv6 автоматически, а система разрешает localhost с IPv6-адресом, который, по-видимому, не используется вашим веб-сервером. Если вы добавите запись в файл Windows\System32\drivers\etc\hosts с этим:
127.0.0.1 localhost
тогда это должно заставить систему разрешить localhost вместо IPv4-адреса.
Другое "исправление" включает в себя отключение IPv6, как предлагает Tie-fighter, но на самом деле "лучшим" решением было бы заставить ваш веб-сервер работать при использовании IPv6 ("лучший" - очень субъективная вещь в данном случае).
Удачи,
--jed
По умолчанию в Windows предпочитают ipv6, а не ipv4, поэтому localhost разрешается в::1, который xampp не прослушивает.
Чтобы Windows предпочла ipv4, создайте следующее DWORD
в реестре и установите его значение 0x20
,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpip6\Parameters\DisabledComponents
После перезагрузки окна будут разрешать IPv4-адреса предпочтительнее IPV6-адресов.
netstat -an | grep LIST
или же
lsof -i
скажет вам, если конкретный сервис действительно прослушивает порт. после этого попробуйте использовать top, чтобы увидеть, не заклинило ли процесс. вы будете использовать sudo privs на коробке, чтобы эффективно запускать эти команды
::1 - это адрес локального хоста (127.0.0.1) в IPv6.
Попробуйте снять флажок TCP/IPv6 в свойствах адаптера.
Откройте порт маршрутизатора, порт http - 80 и 8080, найдите в Google информацию о том, как открыть порты с помощью маршрутизатора, и убедитесь, что ваш брандмауэр Windows не блокирует сервер Apache.