Codeigniter Session 消失解決辦法
剛剛赫然發現 E3X 竟然壞掉了...登入後課程竟然全部不見
當下第一反應是... 該不會學校E3壞掉了還是被學校封了XD
非常神奇的是,另外一個儲存使用者資料的Session竟然好好的...
就在想該不會是Session的Size超過上限了?
請了Google大神之後才發現CI的Session預設是用Cookie來存的(用了這麼久才發現...),也就是說有4KB的限制
解決辦法呢? 就用Database來存囉 (或是用裝上 Native Session 套件)
首先先在資料庫新增Table (Saving Session Data to a Database部分)
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`)
);
接著修改 application/config.php
將 $config['sess_use_database'] 改成 TRUE 就好囉~