안녕하세요. 삼일째 혼자 끙끙대다가 질문 드려봅니다.
※ 문제
세션 라이브러리를 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)
}
이 데이터 이외에는 사용하는 세션값이 없음..
※ 오류 메시지

좀 추측갈만하거나 도움이 될만한 정보가 있을까요?
@웅파 답변감사합니다.
자문자답하겠습니다.
용량이나 코드상엔 도저히 문제를 찾지못하여 해당버전의 문제점이 있나싶어
CI를 3.1.11 -> 3.1.13로 버전업하였는데 해결되었습니다.
허허.. 허탈하네요.
수정 -> 버전업을 해도 문제가 발생하였습니다.
@불의회상 해결된줄알았으나 버전업을 해도 마찬가지입니다ㅠㅠ 환장하겠네요.
DB로 잘쓰고 있다가 2시간정도 지나면 꼭 본문상의 오류가 출력이 됩니다. 세션destory하면 또 되구요...
세션을 저장하는 곳은 로그인 한번뿐인데 말이죠 ..ㅠ 뭔가 autoload가 문제가 있는건지 참..
@beop 이 오류는 Db 쿼리 실행시간이 2분을 넘어서 발생하는 오류인데요.
뭔가 DB에 병목이 생긴건 아닌지요?
다시 작성합니다. 여전히 증상이 재현이됩니다.
로컬에서 카페24호스팅 받은 외부 DB로 접속해서 사용하고있는데
호스팅업체에서 localhost가아닌 외부에서 잦은 sql GET_LOCK 때문에 막힌것으로 추측됩니다.
자문자답하겠습니다.
세션 테이블에
ALTER TABLE ci_sessions ADD PRIMARY KEY (id);
기본키 추가를 빼먹고 제가 임의로 생성해서 별도의 키를 추가했었네요... 왜그랬을까요..
병목이니 호스팅이니 별의별 상황을 다 뜯어보고 있었는데 허무하네요.. 차라리 더 심오한 버그였으면 좋았을 것을..ㅎㅎ
창피한 질문이지만 혹시나 저같은 실수를 하시는분을 위해서 남겨놓겠습니다.
하드 디스크 용량 체크
db세션에서 파일세션으로 바꿔서 문제가 없다면 db관련 문제겠죠. 입출력은 어느정도 되는지.. 작업서버 사양등등..