我在localhost中有一个codeigniter(版本2.2.6)应用程序 .

我正在尝试登录用户 .

我使用数据库来存储会话 .

config.php中的session配置

$config['sess_cookie_name']     = 'myapp';
$config['sess_expiration']      = 0;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie']  = TRUE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']      = 'myapp_sessions';
$config['sess_match_ip']        = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;

并且它有效,它将用户数据保存在数据库中

$userdata = array(
'user_id'  => $result['id'],
'username'  => $result['username'],
'is_admin' => $result['is_admin'],
'logged_in' => TRUE
);
$this->session->set_userdata($userdata);

BUT, when i try to retrieve data it gives me NULL;

$this->session->userdata('username');

有任何想法吗?

EDIT:

请求:var_dump($ this-> session-> all_userdata());

array(4) {
  ["session_id"]=>
  string(32) "767eab3e9539d0bdc29faeb48ad86919"
  ["ip_address"]=>
  string(9) "127.0.0.1"
  ["user_agent"]=>
  string(110) "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36"
  ["last_activity"]=>
  int(1455306997)
}