제목 | 금요일 세션관련 질문 했던 사람입니다.. | ||
---|---|---|---|
카테고리 | PHP | ||
글쓴이 | 페이 | 작성시각 | 2017/05/22 10:13:20 |
|
|||
이리저리 로그를 확인 했는데..
결론은 이런거 같습니다. 이게 100% 확실하다고는 아직 모자른 부분이 많지만..
아래 셋팅 의 서버에서
$config['sess_driver'] = 'database'; $config['sess_cookie_name'] = 'tbsessions'; $config['sess_expiration'] = 0; $config['sess_save_path'] = 'tb_sessions'; $config['sess_match_ip'] = FALSE; $config['sess_match_useragent'] = FALSE; $config['sess_time_to_update'] = 300; $config['sess_regenerate_destroy'] = TRUE;
1. 홍길동 로그인 2. 홍길동 24분동안 웹페이지에 대한 리프레시가 없음. 3. 홍길동이 아닌 다른사람에 의해 웹페이지 오픈 후 gc()가 자동 실행이 되면 4. 홍길동은 sess_expiration 값이 0 이기 때문에 php.ini 의 session.gc_maxlifetime 에 따라 (기본값 1440초(24분)) 세션 삭제.
## 만약 3번에서 홍길동이 세션이 있는 상태(삭제되지 않은상태)에서 24분이 넘어서 액션을 취할경우는 세션이 재생성되면서, 시간이 ## 갱신 되는거 같습니다..
가 원인인거같습니다.
혹시 이런게 맞는것인지 아니면 제가 놓치는게 있는지 모르겠습니다. 이번에 몇년동안 등한시 ci쪽 세션 공부를 톡톡히 하게되네요 ㅜㅜ.. 반성하게되네요.
만약 위 내용이 맞다고 하면, session.gc_maxlifetime 값을 강제로 변경 하는 방법을 제외하고는 방법이 없을까요 ? 제가 원하는 것은 홍길동이 로그인 후 아무 액션없이 몇시간이고 뒤에 홈페이지를 열어도 세션이 유지되도록 하고 싶습니다. 물론 인터넷창을 다는 경우는 세션이 삭제되었으면 하구요.
|
|||
다음글 | outer조인시, on절에 가변적인 조건 추가시 어떻게... (5) | ||
이전글 | 기간별 조회수를 구현하기 위한 SQL 구축 방법을 문의... (3) | ||
마카오최
/
2017/05/23 19:30:56 /
추천
0
|
브라우져를 닫지 않은 상태에서 세션을 계속 유지시키고 싶으신것이 목적이시라면,
자바스크립트로 세션 만료시간 전(24분이라고 하셨으니, 한 15분 정도?)에 한번씩 페이지를 새로고침 시켜주시던지,
Ajax 로 의미없는 비동기 통신을 한번씩 날리시면 세션이 유지 되지 않을까요?