2012-10-08 102 views
0

我得到了一个codeigniter会话问题,我一直无法解决。即使我的到期时间设置为“无限”,我的会话也会一直到期。我试图将过期时间设置为0,也是一个很高的数字,例如604800(一周)。codeigniter会话到期

此刻我的变量是这样的:

$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 604800; 
$config['sess_expire_on_close'] = FALSE; 
$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'] = FALSE; 
$config['sess_time_to_update'] = 300; 

我已经尝试了很多不同的组合和一对夫妇不同的库,但我不能似乎找到了解决问题的办法。我是否必须在我的php.ini文件中更改gc_maxlifetime才能使其工作?

+0

看看[这个答案](http://stackoverflow.com/questions/12735456/codeigniter-destroying-my- session-without/12741200)可以帮助你解决你的问题。 –

+0

谢谢,但我没有使用Firefox,并且在每个浏览器中都是一样的。我很感谢你的回答。 – hgerdin

+0

如果您使用的AJAX会在重新生成会话ID时导致问题。 [计算器-交](http://stackoverflow.com/questions/3381786/problem-with-session-in-codeigniter)。我在CI会议上也遇到过其他几个问题,但从来没有找到原因。 – mic

回答

0

请您config.php文件更改无论从TRUE为FALSE的设置

$config['sess_use_database'] = TRUE; 
$config['sess_encrypt_cookie'] = TRUE;