codeigniter วิธีเก็บ Session ลง data base เพื่อให้เก็บข้อมูลได้มากขึ้น
เวลาใช้ Session ของ PHP codeigniter หลายท่านคงเคยเจอปัญหาว่า
เวลายัดข้อมูล ยาวๆ ลง Session แล้วมันเดี้ยงไปเสียดื้อๆ
นั่นเป็นเพราะว่า ข้อจำกัดในการใช้งาน Session ได้แค่ 4kb
วิธีแก้นั่นไม่ได้ยากเลยครับ นั่นคือการเปลี่ยนมาใช้ Database Session
ตามวิธีนี้เลย
Step 1 สร้าง table เพื่อเก็บ Session ตามนี้
CREATE TABLE IF NOT EXISTS `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(16) DEFAULT '0' NOT NULL,
user_agent varchar(50) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id)
);
จากนั้นก็ปรับแก้ Config ซักหน่อย ง่ายๆ
แก้ที่นี่ application/config/config.php
หาบรรทัดนี้ให้เจอ
$config['sess_use_database']
ก่อนนั้นค่า default จะเป็น FALSE อยู่ แก้ให้เป็น TRUE ซะตามนี้
$config['sess_use_database'] = TRUE;
เพียงเท่านี้ก็สามารถใช้ Database Session ได้แล้ว
ข้อดีคือเราสรมารถยัด Text ยาวๆ ลง Session ได้แบบสบายๆ