我的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。
发布于 2013-11-28 09:05:48
所以,我不知道它是怎么发生的,但是很明显,变量"REMOTE_ADDR“是小写的,应该是大写的。因此,将strtoupper()添加到var $index上的input->server()解决了我的问题.
很奇怪的事情..。
发布于 2014-10-02 00:01:33
input->ip_address()在system/core/input.php中定义错误。
在351行将其更改为$this->ip_address = $this->server('REMOTE_ADDR');
https://stackoverflow.com/questions/20220503
复制相似问题