我的CodeIgniter设置有点问题。
我配置CodeIgniter来保存&将会话存储在数据库的ci_session
表中。正如我已经阅读了一些关于它的内容,我理解每次会话库加载它时都应该清理DB中用于旧会话的表。
今天我访问了我的数据库,我看到该表已经包含600 sessions
,当它只有我和我的时候。朋友开发系统,没有其他用户访问这些页面,在数据库中排序timestamp
列之后,我看到它存储了来自5th of October
的记录。
我希望它能够清除旧会话。
以下是config.php
文件中的会话配置:
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 86400; // Default: 7200
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
请告知。
谢谢, 斯拉维克。
答案 0 :(得分:1)
在垃圾收集开始之前,过期的会话不会被删除。它是随机调用的,频率基于session.gc_divisor
和session.gc_probability
参数。
如果您希望尽快发生,则应减少session.gc_divisor
。