[CI] Session 데이터를 DB로 저장하는 방법

[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 테이블에 데이터가 쌓이는지 확인해보는 것으로 마무리가 됩니다.

 

 

 

%d 블로거가 이것을 좋아합니다: