我在CodeIgniter中的会话有问题。 当用户登录系统时,我有以下代码:
$data_login = array(
'id' => $user->id,
'name' => $user->name,
'email' => $user->email,
'logged_in' => true
);
$this->session->set_userdata($data_login);
我的会话配置:
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = sys_get_temp_dir();
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
通常,一切正常,但是当我不注销并关闭页面选项卡时,我将再次访问该站点。 $ this-> session-> userdata('logged_in')返回NULL 。当我进入另一个子页面时,一切恢复正常-识别已登录的用户。
哪里有问题? :/
@edit:
这是我的cookie配置:
$config['cookie_prefix'] = '';
$config['cookie_domain'] = '';
$config['cookie_path'] = '/';
$config['cookie_secure'] = FALSE;
$config['cookie_httponly'] = FALSE;
@ edit2:
我注意到这是在新主机上发生的。 一切都可以在旧主机上运行。
答案 0 :(得分:0)
$data_login = array(
'id' => $user->id,
'name' => $user->name,
'email' => $user->email
);
$this->session->set_userdata('logged_in', $data_login);
我的会话配置:
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
不要忘记加载会话库
$this->load->library('session');