3

当 CI 的会话存储在数据库中时,我遇到了一个非常奇怪的问题。我正在使用会话来存储有关用户是否在我的网站上登录的信息。出于某种原因,我的一位来自立陶宛的朋友(我提到这个国家以防万一它是相关的)无法登录。当我监控会话表时,似乎她正在为她访问的每个页面创建一个新会话。她尝试使用各种浏览器,但无论使用哪种浏览器,都会出现同样的问题。没有其他人有这个问题(所有其他测试人员都在立陶宛境外)。

奇怪的是:我可以通过设置sess_expire_on_close= TRUE 来解决她的问题。我猜这不可能是解决方法,但是每当我将其设置回 FALSE 时,问题就会再次出现。

我的另一个问题是我似乎偶尔会丢失会话数据,这意味着用户被注销。不知道是什么原因造成的。我将为它发布一个不同的 SO 问题,但认为在这里提及它可能很有用。

4

3 回答 3

1

您使用的是哪个版本的 CodeIgniter?CI 2.1.1 在发布时有一个会话错误,即会话没有从数据库中删除,以及其他问题。如果您使用的是 2.1.1(受问题影响的唯一版本),我建议您升级到 2.1.2 并重试。

于 2012-07-13T14:48:01.017 回答
0

您的 ci 会话配置是否设置为匹配 IP 地址?如果是这样,您的朋友可能正在使用 3G 移动连接,并且可能在上网时不断更改她的 IP 地址……只是猜测。

于 2012-06-27T23:54:27.917 回答
0

我记得几年前英国的一家互联网提供商也有类似的问题。他们的 IP 几乎改变了,如果不是每个请求的话。我相信会话与IP有关。因此,每次她访问另一个页面时,她都会被分配到一个新会话。

每次她访问您的页面时检查她的 IP。

于 2012-07-16T13:46:54.247 回答