| 제목 | ci3 session 메모리 관련 질문 | ||
|---|---|---|---|
| 카테고리 | CI 2, 3 | ||
| 글쓴이 | beop | 작성시각 | 2022/03/10 09:49:26 | 
|  | |||
| 안녕하세요. 삼일째 혼자 끙끙대다가 질문 드려봅니다. 
 ※ 문제 세션 라이브러리를 autoload에서 등록하여 사용하고 있고 작업을 잘하다가 1~2시간이 지나면 세션관련 오류가 뜨면서 작업이 안됌. 일시적으로 sess_driver를 files로 바꾸고 세션을 unset이 아닌 destroy로 제거해주고 하면 다시 정상작동이됌. 무언가 변수가 계속 쌓이면서 메모리가 터지나 싶은데 현재 세션변수 var_dump($_SESSION)를 찍어보면 그렇지도 않은것같음.. 
 ※ 환경 xampp // localhost // php.7.3.27 // version : CI 3.1.11 -> 3.1.13(두가지 버전 둘다 동일현상) 
 ※ config $config['sess_driver'] = 'database'; $config['sess_cookie_name'] = 'nx_sessions'; $config['sess_expiration'] = 3600; $config['sess_save_path'] = 'nx_sessions'; $config['sess_match_ip'] = FALSE; $config['sess_time_to_update'] = 300; $config['sess_regenerate_destroy'] = TRUE; 
 ※ 데이터 : var_dump($_SESSION) 
array(4) {
  ["__ci_last_regenerate"]=>
  int(1646873115)
  ["nx_admin"]=>
  bool(true)
  ["m_idx"]=>
  int(1)
  ["level"]=>
  int(1)
}이 데이터 이외에는 사용하는 세션값이 없음.. 
 ※ 오류 메시지 
 
 좀 추측갈만하거나 도움이 될만한 정보가 있을까요? | |||
| 다음글 | 세션이 오후만되면 끊기는데 무슨 이유가 있을까요?ㅠㅠ (3) | ||
| 이전글 | 컨트롤러 폴더 라우팅 문제 (7) | ||
| 
                                변종원(웅파)
                                /
                                2022/03/10 09:56:49 /
                                추천
                                0
                             | 
| 
                                beop
                                /
                                2022/03/10 14:29:57 /
                                추천
                                0
                             @웅파 답변감사합니다. 자문자답하겠습니다. 용량이나 코드상엔 도저히 문제를 찾지못하여 해당버전의 문제점이 있나싶어 
 
 수정 -> 버전업을 해도 문제가 발생하였습니다. | 
| 
                                한대승(불의회상)
                                /
                                2022/03/10 14:57:22 /
                                추천
                                0
                             
                                @beop 아.. 저도 허탈하네요.
                             | 
| 
                                beop
                                /
                                2022/03/10 15:27:17 /
                                추천
                                0
                             @불의회상 해결된줄알았으나 버전업을 해도 마찬가지입니다ㅠㅠ 환장하겠네요. DB로 잘쓰고 있다가 2시간정도 지나면 꼭 본문상의 오류가 출력이 됩니다. 세션destory하면 또 되구요... 세션을 저장하는 곳은 로그인 한번뿐인데 말이죠 ..ㅠ 뭔가 autoload가 문제가 있는건지 참.. | 
| 
                                한대승(불의회상)
                                /
                                2022/03/10 16:07:33 /
                                추천
                                0
                             @beop 이 오류는 Db 쿼리 실행시간이 2분을 넘어서 발생하는 오류인데요. 뭔가 DB에 병목이 생긴건 아닌지요? | 
| 
                                beop
                                /
                                2022/03/11 07:35:36 /
                                추천
                                0
                             
                                @불의회상 네 다양하게 다 시도해봤습니다만 근데 디비는 전혀 문제가 없어서 미추겠네요.. 오늘 해결하고 자문자답해놓겠습니다.
                             | 
| 
                                변종원(웅파)
                                /
                                2022/03/11 09:55:38 /
                                추천
                                1
                             
                                db 설정에서 슬로우쿼리 로그 활성화 하고 해당 로그 보세요.
                             | 
| 
                                beop
                                /
                                2022/03/11 10:18:38 /
                                추천
                                0
                             
                                @웅파 오우. 좋은의견 감사합니다.
                             | 
| 
                                beop
                                /
                                2022/03/18 12:31:19 /
                                추천
                                0
                             다시 작성합니다. 여전히 증상이 재현이됩니다. 로컬에서 카페24호스팅 받은 외부 DB로 접속해서 사용하고있는데 호스팅업체에서 localhost가아닌 외부에서 잦은 sql GET_LOCK 때문에 막힌것으로 추측됩니다. | 
| 
                                한대승(불의회상)
                                /
                                2022/03/18 13:27:13 /
                                추천
                                0
                             
                                @beop 뭔가 실마리를 잡으신것 같아 다행입니다.
                             | 
| 
                                beop
                                /
                                2022/05/11 08:31:26 /
                                추천
                                1
                             자문자답하겠습니다. 세션 테이블에 ALTER TABLE ci_sessions ADD PRIMARY KEY (id); 기본키 추가를 빼먹고 제가 임의로 생성해서 별도의 키를 추가했었네요... 왜그랬을까요.. 병목이니 호스팅이니 별의별 상황을 다 뜯어보고 있었는데 허무하네요.. 차라리 더 심오한 버그였으면 좋았을 것을..ㅎㅎ 창피한 질문이지만 혹시나 저같은 실수를 하시는분을 위해서 남겨놓겠습니다. | 
| 
                                한대승(불의회상)
                                /
                                2022/05/11 09:53:22 /
                                추천
                                1
                             
                                @beop 슬로우쿼리 문제였군요. 해결되었다니 다행입니다.
                             | 
하드 디스크 용량 체크
db세션에서 파일세션으로 바꿔서 문제가 없다면 db관련 문제겠죠. 입출력은 어느정도 되는지.. 작업서버 사양등등..