Когда я пингую свое доменное имя со своего компьютера, я получаю другой IP-адрес, чем если бы я запускал скрипт на своем хосте, который делает
echo getHostByName(getHostName());
Почему это?
Имя хоста сервера может отличаться от записей DNS, указывающих на этот сервер. Это легко увидеть: несколько доменов могут указывать на сервер, но сам сервер может иметь только одно имя.
Скорее всего, имя хоста, которое настроено на сервере (и таким образом возвращается gethostname
) отличается от того, который вы пингуете.
Другая возможность заключается в том, что внутренний преобразователь DNS возвращает разные IP-адреса для внутренних узлов, чем внешний DNS-сервер. Это известно как DNS с разделенным горизонтом.
Других решений пока нет …