CodeIgniter在浏览器重新启动后删除会话

CodeIgniter在浏览器重新启动后删除会话,codeigniter,Codeigniter,我有一个控制器,它使用facebook凭据登录用户 public function Facebook() { $fb_data = $this->session->userdata('fb_data'); // This array contains all the user FB information $data['fb_data'] = $fb_data; $fb = $data['fb_data']['me']['id']; $u

我有一个控制器,它使用facebook凭据登录用户

public function Facebook() {
    $fb_data = $this->session->userdata('fb_data'); 
    // This array contains all the user FB information

    $data['fb_data'] = $fb_data;
    $fb = $data['fb_data']['me']['id'];

    $userdata = $this->user_model->getID($fb);

    $userID = $userdata['0']['id'];
    $userNick = $userdata['0']['nick'];

    $session_array = array(
        'id' => $userID,
        'userNick' => $userNick
    );

    $this->session->set_userdata('user_data',$session_array);
    $user = $this->session->userdata('user_data');

    print_r($this->session->all_userdata());

    //print_r($user);

    if($user['id'] && $user['userNick']) {
        redirect('/');
    }
}
它工作正常,但在浏览器重新启动后会删除会话。没有创建任何cookies

会话配置:

$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 0;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;

在application/config/config.php中:

$config['sess_expire_on_close'] = FALSE;

如何强制CI存储会话。除了fb会话数据之外,创建一些示例会话,如$this->session->set_userdata('sample','abc');试着去回应它。如果工作正常,则是fb会话故障,否则您知道您是否检查了当地时间?它可能会导致cookie过期(丢失所有会话数据)。在关闭浏览器窗口之前和之后,请尝试使用Firebug(或类似工具)检查cookie。是否可以发布会话设置?
config['sess\u cookie\u name']='ci\u session'$配置['sess_expiration']=0$config['sess\u expire\u on\u close']=FALSE$config['sess\u encrypt\u cookie']=FALSE$config['sess_use_database']=FALSE$配置['sess_table_name']=“ci_sessions”$配置['sess\u match\u ip']=FALSE$config['sess\u match\u useragent']=TRUE$配置['sess_time_to_update']=300