2009-04-17 25 views
3

从多台机器访问我的站点时$ _SERVER ['REMOTE_ADDR']始终解析为空字符串。这可能是什么原因?

附加信息: 其中一台机器正在本地主机上运行该站点。本地主机上的机器不应该总是解析为127.0.0.1?

我的设置是LAMP。一个开发者。运行站点本地主机,并有问题的机器是Mac并运行XAMPP。我认为我们的实时暂存环境是CentOS(共享主机)。

+0

什么是web服务器软件,以及哪个版本的PHP? – Alnitak 2009-04-17 10:18:23

+0

添加了其他信息。 – Luke 2009-04-17 10:24:43

+0

你在`REMOTE_ADDR`上做`gethostbyaddr()`查找吗? – matpie 2009-04-17 17:34:34

回答

2

我想这是由于缺少地址的反向委派而导致的。除非绝对必要,否则应避免反向分辨率。

它不仅在等待时间方面很昂贵,而且由于没有要求解决什么问题或者需要解决的问题,还可能产生意想不到的结果。

0

试着从这些机器上看看phpinfo(),看看它们是什么。

0

我刚刚遇到了这个问题,事实证明,在运行我的代码之前,PHP代码明确地将它设置为''。这是因为IPv6远程地址与其仅限IPv4的正则表达式不匹配。

如果别人遇到同样的问题,请留下此处,这对我来说很简单。

有问题的模块是simplemachinesforum。