2010-05-30 10 views
9

Ich benutze Xampp auf localhost und wenn ich $_SERVER["REMOTE_ADDR"] verwende, gibt es ::1 zurück (tut auch dies in phpinfo()). Warum macht es das? Ich möchte, dass es eine normale IP-Adresse wie 127.0.0.1 zurückgibt. Mein Betriebssystem ist Windows Vista.remote_addr nicht zurück IPv4-Adresse

Antwort

10

::1 ist ein IPv6 address und eine Abkürzung für 0:0:0:0:0:0:0:1 das ist die loopback address an die lokale Maschine. So ist ::1 das gleiche wie 127.0.0.1 nur über IPv6 statt IPv4.

8

Ihr Apache wartet standardmäßig auf IPv6-Verbindungen (::1 ist local loopback). Wenn Sie wirklich nur IPv4 wollen, versuchen Sie deaktivieren IPv6-Verbindungen in Ihrer Apache-Konfiguration zu deaktivieren:

Wenn Sie Apache wollen nur IPv4-Verbindungen behandeln, unabhängig davon, was Ihre Plattform und die APR unterstützen, geben Sie eine IPv4-Adresse auf allen hören Richtlinien, wie in den folgenden Beispielen:

Listen 0.0.0.0:80 
Listen 192.170.2.1:80 
-2

Sie müssen die IPv6-Unterstützung in Ihrem Betriebssystem deaktivieren, damit Apache diese Adressen im IPv6-Format nicht mehr anzeigen kann, wenn Sie das IPv4-Format verwenden möchten. Ich habe die IPv6-Unterstützung deaktiviert und funktioniert jetzt wie erwartet.

Mit der folgenden Anleitung IPv6 deaktivieren könnte hilfreich sein, http://support.microsoft.com/kb/929852

Nur damit Sie wissen, dass ich die Schritte folgen in den obigen Link beschrieben und ich bin mit Windows 7 nicht Vista, obwohl ich bezweifle, dass es eine oder viele sein könnte Unterschiede.

Ich bin kürzlich in dieses Problem geraten, obwohl ich mich nie daran erinnere, die ipv6-Unterstützung auf meinem System zu aktivieren, könnte von Microsoft in einem ihrer Updates (vielleicht) getan werden.

3

Wechseln Sie zum XAMPP-Bedienfeld. Öffnen Sie Apache (httpd.conf), das in der ersten Zeile zu finden ist, also die Aktionen des Apache-Moduls. Gehe zu hören (Sie können Strg + F dies), die 80 zeigt (wenn Sie IPv6 aktiv haben) ändern Sie es zu Listen 0.0.0.0:80 und Sie sind fertig. Starten Sie Apache neu und Sie werden ::1 in Ihrem Browser nicht mehr sehen. Dies wird glücklich Ihre localhost zurückgeben, d. H. 127.0.0.1

Verwandte Themen