簡體   English   中英

使用Codeigniter在數據庫上運行會話的問題

[英]Problems to run session over database with Codeigniter

我試圖通過表在數據庫上運行所有會話數據。 但是由於某種原因,當我嘗試將其設置為通過數據庫而不是“文件”運行時,它只是將其忽略。

這是我的配置:

$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`);

我已經嘗試了幾個小時才能弄清楚哪里出了問題,但是沒有運氣。 希望有人有什么想法...

我目前正在使用此代碼,它工作正常,沒有問題。 配置

$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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM