[CI] Session 데이터를 DB로 저장하는 방법
Session은 일반 적으로 파일로 저장하거나 DB에 저장할 수 있습니다. 기본 값으로는 파일로 저장되도록 설정이 되어있습니다.
이를 DB로 저장하는 방법을 소개드립니다.
1. /application/config/config.php 파일을 열어 아래 내용과 같이 수정 합니다.
$config['sess_use_database'] = TRUE; $config['sess_table_name'] = 'ci_sessions';
sess_table_name은 ci_session으로 이름을 달리하고 싶은 경우 변경하셔도 무방합니다. 단, sess_cookie_name 의 값도 변경된 이름과 동일하게 맞춰주셔야 합니다.
2. ci_session 테이블을 만듭니다. 저장될 DB 테이블을 설정하셨다면 테이블이 필요하겠죠. ci_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 text NOT NULL, last_activity int(10) unsigned DEFAULT 0 NOT NULL, user_data text NOT NULL, PRIMARY KEY (session_id) );
3. 로그인을 테스트해봅니다. 로그인을 시도해본 후 ci_session 테이블에 데이터가 쌓이는지 확인해보는 것으로 마무리가 됩니다.