首页 > 解决方案 > 在注销 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);
       }

标签: codeigniter

解决方案


推荐阅读