我需要將IPv6地址轉換爲IPv4地址。要做到這一點,我使用的代碼從pedmillon's answer to a related question:在PHP中將IPv6轉換爲IPv4地址
$ipv6 = $_SERVER['REMOTE_ADDR'];
$ipv4 = hexdec(substr($ipv6, 0, 2)). "." . hexdec(substr($ipv6, 2, 2)). "." . hexdec(substr($ipv6, 5, 2)). "." . hexdec(substr($ipv6, 7, 2));
我試圖在我的本地和:: 1被轉換爲0.1.0.0。這段代碼是否正確工作?
我相信它應該顯示127.0.0.1而不是0.1.0.0。
IPv6地址不能轉換爲IPv4地址。這就像想把蘋果變成香蕉一樣。首先,有** 340,282,366,920,938,463,463,374,607,431,768,211,456 **可能的IPv6地址,而只有** 4,294,967,296 **可能的IPv4地址。所以讓我細化一下:就像想把幾個蘋果星系變成一個香蕉一樣。 – spectras
嗯..那麼它會是最好的解決方案,如果我強制我的Apache使用IPv4地址,而不是? –
面向未來的解決方案將支持ipv6。爲了簡化轉換,如果你不想處理這兩個系統,你可以告訴你的服務器你想要ipv4地址映射到ipv6地址空間,然後你可以使用ipv6。 – spectras