我使用 Codeigniter3 创建了新的网络应用,我的会话数据存在问题。
问题1 :我无法从会话数据中检索任何数据,尽管它存在于数据库中。
问题2:虽然我将sess_expire_on_close设置为True,但会话表的行会自动增加并且永远不会删除。而当我在Firefox中刷新页面时,4行表会话会同时增加。因此,如果我的网页刷新更多,它将增加到越来越多的行,如果我在Chrome浏览器中刷新,它会逐渐增加。
注意:我已经清理了我的浏览器数据或会话,并重新安装了新的。
请检查我的配置。
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'tb_session';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
请检查我的附件,以查看chrome和firefox刷新页面时行数的增加。
当我使用这种方法时,我也可以从表会话中检索任何数据
$this->data['f'] = $this->session->userdata('email');
这是刷新页面时增加行数的图像
这是每次刷新的Firefox 4rows
答案 0 :(得分:0)
CI2和CI3之间存在混淆 这是CI3配置
$config['sess_table_name'] = 'ci_sessions';
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'com';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = TRUE;
$config['sess_time_to_update'] = 86400*365;
$config['sess_regenerate_destroy'] = TRUE;
我对会议桌ID感到困惑请查看下面的
CREATE TABLE "ci_sessions" (
"id" varchar(40) NOT NULL,
"ip_address" varchar(45) NOT NULL,
"timestamp" bigint DEFAULT 0 NOT NULL,
"data" text DEFAULT '' NOT NULL,
PRIMARY KEY ("id")
);
之后CI3会议是有帮助的