会话在一台服务器上的多个项目中被销毁

时间:2014-03-01 05:48:53

标签: php codeigniter session

我正在为多个Web应用程序使用Code-igniter框架,并从一个服务器运行该应用程序。我面临一个问题,即每当用户从一个应用程序注销时,用户将自动从该服务器上的其他应用程序注销。

以下是维护会话的代码:

$session_data = array(
                'user_id'  => $userdetails[0]->user_id,
                'user_type' => $userdetails[0]->user_type,
                'user_name'  => $userdetails[0]->user_name,                                            
                'logged_in' => TRUE
             );
$this->session->set_userdata($session_data);

这是销毁会话的代码:

$session_data = array(
           'user_id'  => '',
           'user_type' => '',
           'user_name'  => '',                                    
           'logged_in' => FALSE
         );
$this->session->unset_userdata($session_data);

我必须在控制器配置文件中进行哪些更改才能解决此问题?

2 个答案:

答案 0 :(得分:1)

转到配置文件夹并更改每个项目的以下设置。给他们一个唯一的名字

$ config ['sess_cookie_name'] ='ci_session';

ci_session是默认名称

答案 1 :(得分:0)

为此使用此方法进行会话创建和销毁,

 $logindata['user_id'] = $userdetails[0]->user_id;
 $logindata['user_type'] = $userdetails[0]->user_type;
 $logindata['user_name'] = $userdetails[0]->user_name;//add your session data here
 $this->session->set_userdata('session_name',$logindata); // use session name different for different project

对于销毁会话使用此,

 $this->session->unset_userdata('session_name'); //use which session name you want to destroy