Mysql Codeigniter不在数据库上保存会话

Mysql Codeigniter不在数据库上保存会话,mysql,codeigniter,session,session-cookies,Mysql,Codeigniter,Session,Session Cookies,我试图在数据库上保存会话,但未成功。我已经设置了CI配置,自动加载,但没有任何效果 在我的控制器上 $session_data = array( 'session_id' => session_id(), 'ip_address' => $this->input->ip_address(), 'user_agent' => $this->input->user_agent(), 'last_activity' =>

我试图在数据库上保存会话,但未成功。我已经设置了CI配置,自动加载,但没有任何效果

在我的控制器上

$session_data = array(
   'session_id' => session_id(),
   'ip_address'  => $this->input->ip_address(),
   'user_agent'     => $this->input->user_agent(),
   'last_activity' => substr($_SERVER['HTTP_USER_AGENT'], 0, 120),
   'user_data' => 'logged'
 );

$this->session->set_userdata('ci_sessions', $session_data);
自动加载

$autoload['libraries'] = array('database','session');
$autoload['drivers'] = array('session');
配置

$config['encryption_key'] = 'wqf35MV437ytPyGweGHH24775zK8u7uD';
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_sessions';
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_expiration'] = 8640;
$config['sess_use_database'] = TRUE;
$config['sess_table_name']  = 'ci_sessions';
$config['sess_expire_on_close'] = TRUE;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
MYSQL上的默认ci_会话表

CREATE TABLE IF NOT EXISTS  'ci_sessions' (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(45) DEFAULT '0' NOT NULL,
user_agent varchar(120) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id),
KEY 'last_activity_idx' ('last_activity')
);

您已将CI2会话配置与CI3会话配置混合在一起

会议

如果要将会话保存到数据库,请使用CodeIgniter 3

改变

$config['sess_driver'] = 'files';
$config['sess_save_path'] = NULL;

然后我将自动加载会话

$autoload['libraries'] = array('session');
CREATE TABLE IF NOT EXISTS `ci_sessions` (
        `id` varchar(40) NOT NULL,
        `ip_address` varchar(45) NOT NULL,
        `timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
        `data` blob NOT NULL,
        KEY `ci_sessions_timestamp` (`timestamp`)
);
$autoload['libraries'] = array('session');