Codeigniter会话到期问题随时发生

时间:2016-09-19 05:58:35

标签: codeigniter

我使用codeigniter而且我不知道为什么codeigniter会话随时都会过期。会话到期时没有固定的时间。有时当我5分钟不知道什么,当我刚刚重新加载页面时,会话就会过期。

这太可怕了。你能帮我解决这个问题吗?以下设置在config.php文件中完成。

$config['sess_cookie_name']     = 'ci_session';
$config['sess_expiration']      = 7200;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie']  = FALSE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']      = 'ci_sessions';
$config['sess_match_ip']        = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 86400;

这似乎不起作用。

2 个答案:

答案 0 :(得分:1)

您可以尝试使用,当您设置为0时,它将永不过期。

$config['encryption_key'] = '!$W3nCrYp+!0nK3y';

关于encryption_key的另一件事,

project navigation

您可以将您的唯一键更改为相同或使用其他关键字。

答案 1 :(得分:1)

您可以在此处查看我的帖子CodeIgniter unexpected session rotation

您需要检查名为" sess_gc"的函数。在Session.php中。一旦触发,sess_gc函数将删除所有会话记录。这意味着,其他人可以重置您的会话。您可以在删除记录时注释掉该功能或添加一些延迟。