进入网站时看不到会话

时间:2019-09-23 12:32:53

标签: php session codeigniter-3

我在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:

我注意到这是在新主机上发生的。 一切都可以在旧主机上运行。

1 个答案:

答案 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');