Mysql Codeigniter不在数据库上保存会话
我试图在数据库上保存会话,但未成功。我已经设置了CI配置,自动加载,但没有任何效果 在我的控制器上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' =>
$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');