CI 묻고 답하기

제목 ajax 세션 유지실패에 대해서 질문을 드립니다.
글쓴이 bld 작성시각 2014/08/11 10:52:14
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 20480   RSS
게시판을 만들면서 댓글 기능을 AJAX를 이용하여 구현을 했는데, 이상하게 자꾸 4~5분 간격으로 세션을 잃게 되어서

검색을 해보니 http://www.codeigniter-kr.org/qna/view/11279/page/1/q/ajax%20%EC%84%B8%EC%85%98에서 저와 유사한 케이스가 있어서 저기에 나와있는 방법대로 application/libraries밑에 MY_Session.php파일을 만들어

/**
 * ------------------------------------------------------------------------
 * CI Session Class Extension for AJAX calls.
 * ------------------------------------------------------------------------
 *
 * ====- Save as application/libraries/MY_Session.php -====
 */

class MY_Session extends CI_Session {

    // --------------------------------------------------------------------

    /**
     * sess_update()
     *
     * Do not update an existing session on ajax or xajax calls
     *
     * @access    public
     * @return    void
     */
    public function sess_update()
    {
        $CI = get_instance();

        if ( ! $CI->input->is_ajax_request())
        {
            parent::sess_update();
        }
    }

}

// ------------------------------------------------------------------------
/* End of file MY_Session.php */
/* Location: ./application/libraries/MY_Session.php */ 
위 코드를 넣어줬지만, 계속 세션을 잃게 됩니다.

 혹시 다른방법이 있거나 조언 부탁드리겠습니다..ㅠㅠ
 다음글 CI 에서 .로 문자열 추가할때 오류가 발생됩니다. (6)
 이전글 CI 이메일 클라스 작동이 에러 나네요...도와 주세요... (2)

댓글

letsgolee / 2014/08/11 17:57:32 / 추천 0
config 상의 세션관련 설정은 어떻게 하셨나요? 세션은 만료 기간이 있어 그 기간에 대한 확인도 해보아야 합니다.
bld / 2014/08/11 19:29:09 / 추천 0
config 상의 세선 관련 설정은 아래와 같습니다.

$config['sess_cookie_name']        = 'ci_session';
$config['sess_expiration']        = 7200;
$config['sess_expire_on_close']    = TRUE;
$config['sess_encrypt_cookie']    = TRUE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']        = 'ci_sessions';
$config['sess_match_ip']        = TRUE;
$config['sess_match_useragent']    = TRUE;
$config['sess_time_to_update']    = 300;
letsgolee / 2014/08/12 08:24:53 / 추천 0
$config['sess_time_to_update']    = 300;

여기에 답있네요. 300 이니까 5분이 되고 이 기간이 지나면 업데이트가 됩니다. 이 기간을 최대한 길게 해주시면 됩니다.
bld / 2014/08/12 11:49:29 / 추천 0
아하! 답변 감사드립니다!! 해결되었습니다!