| 제목 | session 질문입니다. | ||
|---|---|---|---|
| 글쓴이 | 궁금해 | 작성시각 | 2013/09/12 15:03:20 | 
| 
                         | 
                |||
| 
                        ci에 내장되어있는 기능중 세션을 디비에 저장하는 기능을 사용하고 있습니다. 페이지를 닫거나 로그아웃을 했을 경우 DB에 저장된 세션이 삭제 되는건가요? 세션이 삭제됐었던 것 같은데 ... 오늘 다시 보니 계속해서 쌓이고 있네요..  | 
                |||
| 다음글 | hook를 사용하면 될까요? (5) | ||
| 이전글 | 페이지네이션 질문 있습니다. (2) | ||
| 
                             
                                수야디벨
                                /
                                2013/09/12 15:38:05 /
                                추천
                                0
                             
                             | 
                    
| 
                             
                                궁금해
                                /
                                2013/09/12 16:06:11 /
                                추천
                                0
                             
                            
                                댓글 감사합니다. 
                        일단 config에서 expire on close는 TRUE로 해놨습니다. 그리고 로그아웃이 세션 디스트로이하게 해놨습니다. 웹상에선 정상적으로 세션이 삭제됩니다. 헌데 DB의 세션 테이블의 데이터가 남아있는데 그게 정상인지 비정상인지 궁금합니다.  | 
                    
| 
                             
                                궁금해
                                /
                                2013/09/12 17:54:44 /
                                추천
                                0
                             
                            
                                세션에 데이터가 남는건 비정상 이네요. 
                        라이브러리에 session을 읽어보니 sess_destroy 할 경우 if ($this->sess_use_database === TRUE && isset($this->userdata['session_id'])) {  $this->CI->db->where('session_id', $this->userdata['session_id']);  $this->CI->db->delete($this->sess_table_name); } 
                            요렇게 되야 정상이네요. 제건 왜 이걸 타지 않는건지..참..  | 
                    
$config['sess_expire_on_close'] = FALSE;
라는 설정값이 있습니다.
이 값이 true면 창이 닫힐시에 모든 세션이 자동 삭제 됩니다.
그리고 로그아웃을 했다고 해서 저절로 세션이 삭제 되는 건 아닙니다.
뭐, 외부 로그인 라이브러리를 가져와서, 그 라이브러리에 로그아웃시 세션이 삭제되는 코드가 들어잇다면
이야기는 달라지지만, 보통은 직접 세션을 삭제해줘야 합니다.
세션 삭제에 대해서는 다음 메뉴얼을 참고해주세요
http://codeigniter-kr.org/user_guide_2.1.0/libraries/sessions.html