CodeIgniter:未从'ci_sessions`表中清除会话

时间:2015-10-13 16:55:49

标签: php codeigniter session

我的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;

请告知。

谢谢, 斯拉维克。

1 个答案:

答案 0 :(得分:1)

在垃圾收集开始之前,过期的会话不会被删除。它是随机调用的,频率基于session.gc_divisorsession.gc_probability参数。

如果您希望尽快发生,则应减少session.gc_divisor