我在CodeIgniter中的会话的时间比我在" config/startants.php"文件中指定的时间更少。我将这个常数设置为3600秒(一小时(,但有时我会在5或10分钟内被踢出去。这发生在常规MVC调用中,不涉及Ajax。
我正在尝试在CI会话中访问last_activity值,但这是CI文档当前所说的:" last_activity:取决于存储,没有直接的方式。对不起!"
那么如何访问该值?有什么想法吗?
以下是一些其他信息:
`$ config ['sess_driver'] ='files'; $ config ['sess_cookie_name'] ='ci_session'; $ config ['sess_expiration'] = Expire_Session; $ config ['sess_save_path'] = sys_get_temp_dir((; $ config ['sess_match_ip'] = false; $ config ['sess_time_to_update'] = 86400; $ config ['sess_regenere_destroy'] = false;'
如果您使用的是默认的会话处理方案,最后一个活动是时间戳"列",或者在会话文件中的外观。每次刷新页面时都应更新。当您执行访问模式或通过Ajax操纵页面之类的事情时,它可能不会更新,我尚未检查。
这就是手册作为数据库插入的外观:
CREATE TABLE IF NOT EXISTS `ci_sessions` (
`id` varchar(128) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
`data` blob NOT NULL,
KEY `ci_sessions_timestamp` (`timestamp`)
);