我正在使用CI 1.7.3,这是我的设置:
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 0;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
我无法提出导致会话过期的步骤,它似乎是随机的,对用户来说非常令人沮丧。
答案 0 :(得分:2)
我有同样的问题。 CodeIgniter会话库中存在一个设计缺陷,当快速连续提交两个或多个请求时(例如执行多个AJAX请求时)会导致意外破坏会话。我已经提交了一份错误报告,详细解释如下:https://github.com/EllisLab/CodeIgniter/issues/154
目前,您可以通过设置sess_use_database = FALSE来实现变通方法。希望有人能尽快解决这个问题。