我正在尝试通过表在数据库上运行所有会话数据。 但是出于某种原因,当我尝试将其设置为通过数据库而不是“文件”运行时,它只是将其忽略。
这是我的配置:
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'sitecookie';
$config['sess_expiration'] = 2592000;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
数据库中的表:
CREATE TABLE `ci_sessions` (
`id` varchar(128) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`timestamp` int(10) UNSIGNED NOT NULL DEFAULT '0',
`data` blob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Indeks for tabel `ci_sessions`
--
ALTER TABLE `ci_sessions`
ADD PRIMARY KEY (`id`),
ADD KEY `ci_sessions_timestamp` (`timestamp`);
我已经尝试了几个小时来找出问题出在哪里,但是没有运气。 希望有人有什么想法...
答案 0 :(得分:0)
我目前正在使用此代码,它可以正常工作,并且没有问题。 配置
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 7200;
$config['sess_regenerate_destroy'] = TRUE;
这是数据库表。
CREATE TABLE `ci_sessions` (
`id` varchar(40) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`timestamp` int(10) UNSIGNED NOT NULL DEFAULT '0',
`data` blob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE `ci_sessions`
ADD PRIMARY KEY (`id`),
ADD KEY `ci_sessions_timestamp` (`timestamp`);
COMMIT;