我的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。
答案 0 :(得分:1)
input->ip_address()
。
在第351行,将其更改为$this->ip_address = $this->server('REMOTE_ADDR');
答案 1 :(得分:0)
所以,我不确定它是怎么发生的,但显然是var" REMOTE_ADDR
"是小写的,应该是大写的。所以将strtoupper()
添加到input->server()
var $index
现在解决了我的问题......
非常奇怪的问题......