为什么gethostbyaddr($ _ SERVER ['REMOTE_ADDR'])会返回一个IP地址,而不是计算机名称。它在办公室的50台计算机上按预期工作,并返回计算机名称。当它返回计算机名称时,它会在我自己的计算机上返回一个IP地址。
有快速解决方法吗?
答案 0 :(得分:0)
来自文档:
gethostbyaddr - 获取与给定IP地址对应的Internet主机名
重要的部分是 Internet ,PHP做的是DNS查找。在您的办公室,您的roouter可以为本地计算机进行DNS解析,但您的家庭未在任何DNS上注册。
根据您的需要,您可以使用:How can I read the client's machine/computer name from the browser?
但这不容易做到。
答案 1 :(得分:0)
现在,正如最初的问题所指出的,上述违规机器在我们公司内部的内部网环境中运行。现在解决这个问题的办法是公司的IT部门不得不重新加入违规机器,在这种情况下我的工作计算机到域,然后运行组策略。它在同一个内部网上的两台不同的机器上为我修复了它。这种情况并没有发生太多,但我们的IT过去一直困惑于解决方案。上述操作将IP还原为所需的计算机名称。