2016-09-28 4 views
2

Ich versuche, die IP-Adresse meines localhost über eine PHP-Funktion zu erhalten,
Warum wamp (3.0.4) zeigt :: 1 anstelle von 127.0.0.1 localhost

$user_ip = $_SERVER['REMOTE_ADDR']; 
echo $user_ip; 

derzeit es Rückkehr **::1** Ich möchte ipv4 **(127.0.0.1)** anstelle von ipv6 **(::1)** zurückgeben. Es ist vielleicht eine dumme Frage, die ich oft gesucht habe, aber keine Hilfe findet.

+0

http://superuser.com/a/668008 –

+1

exakte doppelte Frage http://stackoverflow.com/questions/10517371/ip-address-of-the-machine-in-php-gives-1-but- warum – JYoThI

+0

$ _SERVER ['REMOTE_ADDR'] ist die IP-Adresse des Clients. $ _SERVER ['SERVER_ADDR'] ist die IP-Adresse des Servers. – JYoThI

Antwort

2

Windows wie die meisten Betriebssysteme sind jetzt sowohl alte IPV4 und neue IPV6 bewusst.

Beide haben was eine Loopback-Adresse genannt

IPV4 is 127.0.0.1 
IPV6 is ::1 

Als WAMPServer und Ihrem Browser beide auf dem gleichen PC Remote-IP-Adresse wird die Ihre lokale IP-Adresse, dh die Loopback-Adresse sein

WAMPServer Apache ist so konfiguriert, dass es auch IPV4- und IPV6-fähig ist.

Nun ist es der Browser, der entscheidet, entweder IPV4 oder IPV6 zu verwenden, und ich weiß nicht, welche Regeln verwendet, um zu entscheiden. In Ihrem Fall für diese Verbindung hat es sich entschieden, das IPV6-Netzwerk zu verwenden.

Deshalb $_SERVER['REMOTE_ADDR'] berichtet ::1

Wenn Sie diese Sie den Browser zwingen kann, beweisen wollen, das IPv4-Netzwerk zu verwenden, indem Sie die URL als http::/127.0.0.1 Eingabe und Sie werden 127.0.0.1 gemeldet als Remote-IP-Adresse sehen.

Verwandte Themen