2010-05-30 150 views
9

我在本地主機上使用xampp,當我使用$_SERVER["REMOTE_ADDR"]時,它返回::1(在phpinfo()中也這樣做)。它爲什麼這樣做?我希望它返回一個像127.0.0.1一樣的正常IP地址。我的操作系統是Windows Vista。remote_addr不返回IPv4地址

回答

8

默認情況下,您的apache正在偵聽IPv6連接(::1local 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

相關問題