codeigniter - 两个 CodeIgniter 应用程序会话相互覆盖
问题描述
所以我的服务器上有 2 个 ci 应用程序(不同的项目文件夹),当使用相同的浏览器访问时,会话会相互覆盖。
我只是注意到这一点,因为我认为即使会话变量名称相同,默认情况下它也会有所不同。当我将 set_userdata 和 sess_destroy 应用于这两个应用程序时,我在这里发现了一些问题。我彼此使用几乎相同的变量
$data_session = array(
'EMP_ID' => $data['EMP_ID'],
'EMP_FULL_NAME' => $data['EMP_FULL_NAME'],
'EMP_F_NUM' => $data['EMP_F_NUM'],
'EMP_EMAIL' => $data['EMP_EMAIL'],
'LEAD_STATUS' => $data['LEAD_STATUS'],
'BRANCH_ID' => $row_br['BRANCH_ID'],
'BRANCH_NAME' => $row_br['BRANCH_NAME'],
'BRANCH_CODE' => $row_br['BRANCH_CODE'],
'DEPART_ID' => $row_dep['DEPART_ID'],
'DEPART_NAME' => $row_dep['DEPART_NAME'],
'STATUSLOGIN' => "LOGIN",
'CONTINUE' => 'NEW'
);
$this->session->set_userdata($data_session);
我如何使它彼此不同?在每个应用程序上设置用户数据时,我需要制作不同的变量吗?
解决方案
我的猜测是您可能正在使用旧项目的副本来创建新项目。为此,您还需要更改application/config/config.php
文件中会话的配置变量。
因此,您需要更新一个会话名称变量。
$config['sess_cookie_name'] = 'second_project_session';