Php 为什么getHostByName()返回的结果与ping不同?

Php 为什么getHostByName()返回的结果与ping不同?,php,ping,gethostbyname,Php,Ping,Gethostbyname,当我从我的计算机ping我的域名时,我得到的IP与我在主机上运行脚本时得到的IP不同 echo getHostByName(getHostName()); 为什么会这样 服务器的主机名可以不同于指向此服务器的DNS记录。这很容易看出:多个域可以指向一个服务器,但服务器本身只能有一个名称 服务器上配置的主机名(因此由gethostname返回)很可能与正在ping的主机名不同 另一种可能性是,内部DNS解析程序为内部主机返回的IP地址与外部DNS服务器返回的IP地址不同。这称为拆分地平线DNS。

当我从我的计算机ping我的域名时,我得到的IP与我在主机上运行脚本时得到的IP不同

echo getHostByName(getHostName());

为什么会这样

服务器的主机名可以不同于指向此服务器的DNS记录。这很容易看出:多个域可以指向一个服务器,但服务器本身只能有一个名称

服务器上配置的主机名(因此由
gethostname
返回)很可能与正在ping的主机名不同


另一种可能性是,内部DNS解析程序为内部主机返回的IP地址与外部DNS服务器返回的IP地址不同。这称为拆分地平线DNS。

服务器的主机名可能与指向此服务器的DNS记录不同。这很容易看出:多个域可以指向一个服务器,但服务器本身只能有一个名称

服务器上配置的主机名(因此由
gethostname
返回)很可能与正在ping的主机名不同

另一种可能性是,内部DNS解析程序为内部主机返回的IP地址与外部DNS服务器返回的IP地址不同。这称为拆分地平线DNS