CodeIgniter ip_address()始终返回0.0.0.0

时间:2013-11-26 14:57:28

标签: php ajax codeigniter session ip

我的Codeigniter sessions最近一直在死。所以我去看看我的数据库,我看到所有会话都有ip_address 0.0.0.0而有些会话有useragent 0

所以我检查了我的$CI->input->ip_address()函数,看到它始终返回0.0.0.0事件,认为$_SERVER['REMOTE_ADDR']返回$CI->input->valid_ip($ip)中有效的IP地址。

这与我的会话死亡有什么关系吗?

我还读到当user-data达到4K时,会话往往会死亡。它可能是它的一部分,因为我在会话中为每个页面提供一个永远不会删除的ID。我认为这不是问题,因为90%的活动是通过1页和AJAXs(我已经添加了一个AJAX会话修复)。

编辑:我正在使用CI版本2.1.4。

2 个答案:

答案 0 :(得分:1)

在system / core / input.php中错误地定义了

input->ip_address()
在第351行,将其更改为$this->ip_address = $this->server('REMOTE_ADDR');

答案 1 :(得分:0)

所以,我不确定它是怎么发生的,但显然是var" REMOTE_ADDR"是小写的,应该是大写的。所以将strtoupper()添加到input->server() var $index现在解决了我的问题......

非常奇怪的问题......