有时当我调用gethostbyaddr()时,它会返回正确的主机名,但有时它会返回IP地址,我知道它是在调用无法解析主机名时设计的。
绝对至关重要我得到主机名,因为所有IP地址都是动态的(2天租约)所以我需要主机名,以便我可以拥有有效的主键我将主机名和IP对保存到数据库。我确实有2台打印机和2台计算机并排,每台PHP中的一台可以解析成主机名,另一台打印机和计算机返回IP地址。
如何让PHP解析所有设备的主机名?
另外,有谁知道它如何解析主机名? DNS? WINS?
我可以在这两台打印机上运行任何测试,以便在必要时检查其IPv4配置。
答案 0 :(得分:1)
gethostbyaddr()
成功时返回主机名,失败时返回未修改的 ip_address ,错误输入时返回FALSE。
在大约20台静态ip分配的机器和大约5台打印机上检查功能后,它返回了机器和打印机的IP,这些机器和打印机要么已关闭,要么配置不同,例如:路由器或网关。
因此,您需要检查哪些策略限制gethostbyaddr()
从一台计算机和打印机返回主机名。