我有一个网站,在页面加载时执行一些ajax调用.出于某种原因,CodeIgnitor在您加载页面时插入4个会话(我假设每个ajax调用一个).我将会话存储在数据库中.
我很确定每个浏览器应该只有一个会话. Firefox似乎只生成一个;其他浏览器似乎创建了一大堆会话.同一用户的多个会话给我一些严重的身份验证问题.
为什么会这样?我怎么能阻止它?
嗨,大家好,
我知道讨论发生在很久以前,但是有人可能会觉得这很有用.
到现在为止,我已经使用了CI会话而没有将其数据存储在数据库中.今天我决定尝试一下,并立即遇到同样的问题:CI在每个页面加载中生成新会话.
我检查了我的服务器时间,时区,我的cookie等 – 我可以在论坛上找到的所有内容 – 没有结果.然后决定自己调试CI Session类.
长话短说,事实证明我的会话表中的user_agent字段太小–VARCHAR 50 – 它削减了原来的user_agent字符串 – 因此CI找不到我的会话并生成另一个.我只是将user_agent字段大小增加到200,一切都像魅力一样.
我忘了提到我使用的是Mac OS X Lion.
再次,希望这会对某人有所帮助.