我在本地主機上使用xampp,當我使用$_SERVER["REMOTE_ADDR"]
時,它返回::1
(在phpinfo()
中也這樣做)。它爲什麼這樣做?我希望它返回一個像127.0.0.1一樣的正常IP地址。我的操作系統是Windows Vista。remote_addr不返回IPv4地址
9
A
回答
10
::1
是IPv6 address和的縮寫,即loopback address給本地機器。所以::1
與127.0.0.1
相同,只能通過IPv6而不是IPv4。
8
默認情況下,您的apache正在偵聽IPv6連接(::1
爲local loopback)。如果你真的只是想IPv4中,嘗試在你的Apache配置中禁用禁用IPv6連接:
如果你想的Apache只處理IPv4連接,無論你的平臺和APR支持,在所有指定的IPv4地址聽指令,如下面的例子:
Listen 0.0.0.0:80
Listen 192.170.2.1:80
-2
當您需要IPv4格式時,您必須在操作系統中禁用IPv6支持,以便apache停止顯示這些IPv6格式地址。我現在禁用了IPv6支持並按預期工作。
下面的指令禁用IPv6可能是有益的,http://support.microsoft.com/kb/929852
只要你知道我跟着上面的鏈接描述的步驟,我使用的是Windows 7不是Vista雖然我懷疑有可能是任何一個或多個差異。
我最近遇到這個問題,雖然我從未記得在我的系統上啓用ipv6支持,可以由微軟在他們的更新(也許)之一完成。
3
轉到XAMPP控制面板。打開Apache(httpd.conf),可以在第一行找到Apache模塊的Actions。去聽(你可以Ctrl + F這個)顯示80(如果你有ipv6活動)改變它聽0.0.0.0:80
,你就完成了。 重新啓動Apache,您將不會再在您的瀏覽器中看到::1
。這將愉快地返回您的本地主機,即127.0.0.1
相關問題
- 1. $ _SERVER ['REMOTE_ADDR']不返回IP地址
- 2. 力InetAddress.getHostAddress()返回IPv4地址
- 3. VB.Net返回IPv4地址
- 4. 的Java getHostAddress()返回VirtualBox的IPv4地址
- 5. Pinging win2k16返回的是IPv6地址而不是IPv4
- 6. Tarantool 1.6不聽ipv4地址
- 7. HttpContext.Current.Request.ServerVariables [「REMOTE_ADDR」]返回IPv6
- 8. $ _SERVER ['REMOTE_ADDR']返回127.0.0.1
- 9. 多個IPV4地址
- 10. 編碼IPv4地址
- 11. IPv4地址替換
- 12. GetHostAddress()不返回IPv6,僅返回IPv4
- 13. 使用VBScript將ipv4地址作爲變量返回
- 14. 如何將IPv4地址轉換爲整數並返回C?
- 15. 爲什麼UnicastIPAddressInformation.IPv4Mask在IPv4地址上返回空值?
- 16. Java DatagramPacket對象返回IPV6地址,但要求IPv4
- 17. Inet6Address.getByName()是否返回(現有)IPv6,但只有IPv4地址?
- 18. gethostbyname是否保證返回帶有IPv4地址的hostent結構?
- 19. 在Android上從IPv4地址合成IPv4映射的IPv6地址?
- 20. 如何從IPv4映射的IPv6地址解析IPv4地址?
- 21. 在bat-file中只獲取沒有「IPv4地址......」的IPv4地址
- 22. 返回地址
- 23. Dns.GetHostEntry(HttpContext.Current.Request.ServerVariables [「REMOTE_ADDR」])。HostName返回不同的pcname
- 24. Patricia/radix樹和ipv4地址
- 25. 淨ip地址的IPv4
- 26. IPv4地址自動更改
- 27. Java獲取IPv4地址
- 28. 如何匹配IPv4地址
- 29. inet_aton IPv4地址規範化
- 30. 返回地址C