我想知道为什么codeigniter会话时间到期不是从上次用户活动计算的。这样我就可以保留活跃用户。现在即使用户执行活动,会话也因限制而过期。
答案 0 :(得分:5)
我认为你正面临一个错误。
Codeigniter会话存储用户上次活动的时间戳。 框架使用此信息来计算到期时间。
另外,我多次读过Ajax调用可能会破坏CI会话。我也一直在与CI的会话中苦苦挣扎,并且我被迫将$ config [' sess_use_database']传递给false作为解决方法。
https://degreesofzero.com/article/fixing-the-expiring-session-problem-in-codeigniter.html https://ellislab.com/codeigniter/user-guide/libraries/sessions.html https://ellislab.com/forums/viewthread/182755/#900523
答案 1 :(得分:0)
您可以检查用户是否正在执行活动。如果没有,你可以要求进程休眠1秒。这样会话永远不会过期。
sleep(1);
在PHP中,这将有效。这样,您可以在用户空闲时使进程休眠。