как показать IP-адрес в IPv4, который показывает :: 1 на веб-странице

Я хочу показать IP-адрес клиента компьютера. Но на моем компьютере, который работает в localhost, отображается только «:: 1». Если я запускаю в localhost, он должен быть показан 127.0.0.1. Итак, как показать IP-адрес, особенно в IPv4. Потому что я прочитал в другой статье, что :: 1 находится в IPv6. Вот мой код:

function get_ip() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet { $ip=$_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy { $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip=$_SERVER['REMOTE_ADDR']; } return $ip; } $ip = get_ip(); echo $ip; 

Дай мне помощь, чтобы исправить это. Спасибо.

    Если вы хотите, чтобы веб-сервер увидел соединение с 127.0.0.1, вам необходимо подключиться через IPv4. Попробуйте перейти к http://127.0.0.1 вместо http://localhost . Если вы подключаетесь через IPv6, то, конечно, веб-сервер сообщит адрес IPv6.

     function getIP() { $ip = $_SERVER['SERVER_ADDR']; if (PHP_OS == 'WINNT'){ $ip = getHostByName(getHostName()); } if (PHP_OS == 'Linux'){ $command="/sbin/ifconfig"; exec($command, $output); $pattern = '/inet addr:?([^ ]+)/'; $ip = array(); foreach ($output as $key => $subject) { $result = preg_match_all($pattern, $subject, $subpattern); if ($result == 1) { if ($subpattern[1][0] != "127.0.0.1") $ip = $subpattern[1][0]; } } } return $ip; } echo getIP();