我使用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;
这似乎不起作用。
答案 0 :(得分:1)
您可以尝试使用,当您设置为0时,它将永不过期。
$config['encryption_key'] = '!$W3nCrYp+!0nK3y';
关于encryption_key的另一件事,
project navigation
您可以将您的唯一键更改为相同或使用其他关键字。
答案 1 :(得分:1)
您可以在此处查看我的帖子CodeIgniter unexpected session rotation
您需要检查名为" sess_gc"的函数。在Session.php中。一旦触发,sess_gc函数将删除所有会话记录。这意味着,其他人可以重置您的会话。您可以在删除记录时注释掉该功能或添加一些延迟。