【问题标题】:Codeigniter: User session keeps expiringCodeigniter:用户会话不断过期
【发布时间】:2011-07-26 21:50:39
【问题描述】:

我正在使用 CodeIgniter,但我在会话方面遇到了一个小问题。我已将 config.php 中的 'sess_expiration' 设置为 0,这样用户会话就永远不会过期,但用户 - 甚至我自己 - 仍然偶尔会被踢出并要求再次登录! (顺便说一句,我将会话存储在数据库中)

我验证用户会话的方式基本上是检查 user_id(我之前存储在会话中的用户 ID 是 TRUE 还是 FALSE。如果是 FALSE,那么它会要求他们再次登录。

知道什么会导致会话过期吗?

感谢您的帮助:)

【问题讨论】:

  • 我很好奇,您使用的是哪个版本的 CI?我最近在 2.0 版中遇到了这个问题,为了快速修复,我不得不关闭数据库会话。

标签: php session codeigniter


【解决方案1】:

如果您在应用/网站中发出 AJAX 请求,我认为这可能是您遇到的问题:https://github.com/EllisLab/CodeIgniter/issues/154

这似乎是 CI 如何处理 AJAX 请求更新会话的错误。

【讨论】:

    【解决方案2】:

    尝试将会话过期设置为某个非常大的数字。试试:

    time()+(3600*24*365*5)
    

    time()+157680000;
    

    本次会议应持续 5 年。

    【讨论】:

    • 甚至认为 codeigniter 文档说要将其设置为 0 - 您应该尝试其他替代方法,因为它似乎不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多