2015-10-20 109 views
0

目前我正在使用codeigniter3,我将会话驱动程序存储在数据库中。
会话不应该在浏览器关闭时破坏。
当用户单击注销按钮时,应该会话被破坏。
如何在codeigniter3中实现它?如何在codeigniter3中关闭浏览器时保持会话?

请给我任何解决方案。

这是我的配置文件

$config['sess_driver'] = 'database'; 
$config['sess_use_database'] = TRUE; 
$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 0; 
$config['sess_save_path'] = 'ci_sessions'; 
$config['sess_match_ip'] = FALSE; 
$config['sess_time_to_update'] = 0; 
$config['sess_regenerate_destroy'] = FALSE; 

在以前的版本中,笨在配置文件中有sess_expire_on_close但现在他们已删除了它。 https://codeigniter.com/user_guide/libraries/sessions.html

+0

你还在加载/自动加载的'session'库?你的'encryption_key'设置为config.php吗?' – Seabass

回答

1

添加在您的.htaccess文件这一行,

php_value session.gc_maxlifetime 10000 //10000 is in seconds. You can change it. 

或配置文件,

$config['sess_expiration'] = 10000;// this is in seconds. 
+0

根据codeigniter3的sess_expire_on_close没有更多的用法 –

+0

对不起,我仍然使用'codeigniter2.X'只是增加会话到期时间。 –

+0

我会放置86,400秒,以确保至少持续一个活跃的一天,因为CI3没有配置,当浏览器由于整个库所做的更改而不会过期时。 –

相关问题