codeigniter - 在注销 Codigniter 时从 ci_sessions 表中删除会话
问题描述
如果我要问一个已经问过的问题,我很抱歉。在阅读了所有以前的问题后,我仍然找不到我的问题的解决方案。我想要的只是在用户注销后删除 ci_sessions 表中的用户会话,因为它正在浏览器中删除。到现在我还是做不到。因此,每次用户登录时,ci_sessions 表都会变得越来越大。
请帮助我了解如何通过在每次用户注销或关闭浏览器时删除用户会话来防止 ci_sessions 表的可怕增加。
使用版本:3.1.5
1-配置.php
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
2-控制器
//login function
public function login()
{
$data = array(
'admin_id'=>$id,
'admin_name' =>$name,
'admin_perfil'=>$perfil,
'is_logged_in' => true
);
$this->session->set_userdata($data);
}
// log out
public function admin_logout()
{
$array_items = array(
'admin_name',
'admin_password',
'admin_perfil',
'admin_id',
'is_logged_in',
);
$this->session->sess_destroy();
$this->session->unset_userdata($array_items);
}
解决方案
推荐阅读
- css - React maskImage 内联不起作用 - 与 backgroundImage 相同的图像
- javascript - 通过单击按钮显示消息,但我如何通过单击按钮隐藏此消息
- swift - Struct 将不符合 equatable,即使设置了 ==
- verilog - 如果一个输入与一个输出具有相同的值,如何编写verilog代码
- amp-html - 来自 d-xxx.ampproject.net 的推荐流量(例如 d-104013771329548540.ampproject.net)
- delphi - IdTcpServer 有时不会在 Disconnect 事件中检索信息
- bootstrap-4 - 如何在 blazor 中使用/重用自定义复杂 css(如 webkit-keyframes mover)?
- sql - 1z0-071 oracle考试题哪个答案是正确的?
- spring - Hibernate saveAndFlush() 10K By-Row Inserts 需要很长时间
- windows - 如何在 Visual Basic 中从 Indeed.com 上的搜索中获取工作 url