会话在CodeIgniter中销毁

时间:2016-07-21 01:45:57

标签: php codeigniter session cookies codeigniter-3

我有一个用PHP写的CodeIgnitor 3网站。我将会话存储在数据库表中。问题是会议'在白天约30-40分钟的生命之后,以及在晚上约60-80分钟后摧毁。最旧的会话只会从桌面上删除,而其他会话仍然存在。

我的配置

$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = '<cookie_name>';
$config['sess_expiration'] = 0;
$config['sess_save_path'] = '<table_name>';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 30000;
$config['sess_regenerate_destroy'] = FALSE;

早些时候我使用的是Codeigniter 2,问题是一样的。

1 个答案:

答案 0 :(得分:0)

我自己解决了我的问题。官方文档中有错误。如果我将$config['sess_expiration']设置为0,则CodeIgniter会从 php.ini 文件中获取sess_expiration参数(突然!)。因此,设置$config['sess_expiration'] = $config['sess_time_to_update']可以解决我的问题。


CodeIgniter覆盖garbage collector,在请求到网站时以1%的几率运行,这就是为什么会话在晚上的寿命更长。

感谢大家参与讨论。