PHP(Windows和Linux) - 根据IP地址获取主机名

时间:2012-09-19 22:05:03

标签: php networking dns host lan

有时当我调用gethostbyaddr()时,它会返回正确的主机名,但有时它会返回IP地址,我知道它是在调用无法解析主机名时设计的。

绝对至关重要我得到主机名,因为所有IP地址都是动态的(2天租约)所以我需要主机名,以便我可以拥有有效的主键我将主机名和IP对保存到数据库。我确实有2台打印机和2台计算机并排,每台PHP中的一台可以解析成主机名,另一台打印机和计算机返回IP地址。

如何让PHP解析所有设备的主机名?

另外,有谁知道它如何解析主机名? DNS? WINS?

我可以在这两台打印机上运行任何测试,以便在必要时检查其IPv4配置。

1 个答案:

答案 0 :(得分:1)

gethostbyaddr()成功时返回主机名,失败时返回未修改的 ip_address ,错误输入时返回FALSE。

在大约20台静态ip分配的机器和大约5台打印机上检查功能后,它返回了机器和打印机的IP,这些机器和打印机要么已关闭,要么配置不同,例如:路由器或网关。

因此,您需要检查哪些策略限制gethostbyaddr()从一台计算机和打印机返回主机名。