Просто найдите IP-адрес сервера

Следующий код для определения фактического локального IP-адреса (например, 192.168.1.X ) хост-сервера отлично работает на машине разработчика

$ip = getHostByName( getHostName() );

Перенося его на другой сервер, он начал выводить 127.0.0.1

Кажется, что getHostName () возвращает localhost , который, в свою очередь, преобразуется в 127.0.0.1 с помощью getHostByName ( ).

При рассмотрении других вопросов здесь выяснилось, что $ _ SERVER ['SERVER_ADDR'] может решить загадку, но это также возвращает 127.0.0.1

Проверка и поиск выходных данных из phpinfo () не возвращает никаких подсказок о фактическом IP-адресе машины.

Серьезно, знает ли кто-нибудь пуленепробиваемый (чем проще, тем лучше) способ получить IP-адрес машины, на которой запущен сценарий? Почему так сложно получить такие фундаментальные данные, не выполняя обратное сальто?

Я действительно не хочу жестко кодировать IP-адрес в файле конфигурации ...

5
задан zaf 3 January 2012 в 13:32
поделиться