Как узнать внешний IP-адрес с помощью PHP?

Как узнать внешний IP адрес с помощью PHP?

$_SERVER['REMOTE_ADDR'] показывает 127.0.0.1

Кто может подсказать решение?
  • Вопрос задан
  • 5480 просмотров
Решения вопроса 1
mcmraak
@mcmraak
php+sql+js+bicycle+crutches
Тоже столкнулся с данной проблемой, у меня домашний сервер и динамический ip, и нужно было написать скрипт который отправляет в noip.com ip-адрес если он изменился. Из за того что клиент для noip у меня не собрался под линух (какие-то проблемы, было лень решать) я решил написать простенький скрипт на php который 1) Узнаёт внешний ip 2) Отправляет ip в noip. Погуглив не нашёл не одного онлайн-сервиса, где просто была бы ссылка по которой просто получаешь свой ip, везде надо парсить. Не нашёл и в yandex api подобного (может плохо искал, если кто знает напишите) короче я решил сам себе сделать такой сервис, запилил на хостинге поддомен myip.mraak.ru, там всего один файл со строкой <?php echo $_SERVER['REMOTE_ADDR'];
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
miraage
@miraage
Старый прогер
Все правильно, ибо подключаетесь с локалки.
Если этот скрипт запустить на "боевом" сервере, тогда он покажет Ваш IP.
Ответ написан
iiil
@iiil
Инженер и вэб-дизайнер, рисую.
А что он должен по Вашему показать на локалке? ) Если все же хотите узнать свой ip, находясь на локалке, то можете использовать www.nozu.ru , спарсить оттуда Ваш ip. Наверное получится )
Ответ написан
Комментировать
Если на боевой машине так, то видимо php стоит за прокси и не передает реальный ип.
Посмотрите весь $_SERVER, или выведите весь phpinfo..

Что бы решить вопрос нужно точно знать какой сервер у вас стоит и как работает php.
nginx ? Apache? php или php-fpm ?
Ответ написан
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
Если апач за nginx-ом, то проверьте, что rpaf настроен и работает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы