CI 묻고 답하기

제목 안녕하세요 CI4 4.0.0 버젼의 mysql DB세션 유지 문제 입니다. 도와주세요 ㅡㅜ
카테고리 CI 4 관련
글쓴이 dyingmini 작성시각 2021/03/12 13:27:50
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 8742   RSS

 

CI 버전 4.0.0 버전을

PHP Version 7.2.24-0ubuntu0.18.04.7

사용하고 있습니다.

mysql을 사용하여 아래와 같이 세팅을 하고

 

public $sessionExpiration        = 7200;

public $sessionTimeToUpdate      = 300;

 

DB 세션을 구현하는 중

$sessionTimeToUpdate 가 넘어가면 session ID가 변경이 되면서 data가 사라짐니다.

DB에도 data부분이 비어있습니다.

 

system/Session/Handlers/DatabaseHandler.php 를 확인해본결과

==================================

public function write($sessionID, $sessionData): bool

{

if($sessionID !== $this->sessionID){

print "<pre>";

print session_id();

print_r(array("new_session"=>$sessionID,"old_session"=>$this->sessionID,"session_data"=>$sessionData));

print "<script>alert('변경');</script>";

print "</pre>";

//$this->db->table($this->table)->where('id', $this->sessionID)->delete();

exit;

}

이렇게 확인 해보려 했으나 문제를 알 수가 없습니다. ㅡㅜ

=================================

제가 알고 있기로는 아무런 액션없이 $sessionTimeToUpdate 이후 액션이 있을경우 $sessionExpiration 이내이면

ID를 변경하여 data를 유지하고 $sessionExpiration 이후이면 삭제 하는걸로 알고 있는데요 ㅡㅜ

 

원인을 모르겠습니다. ㅡㅜ

도와주세요 선배님들 ㅡㅜ

 

 

 다음글 메일 서버 연동 (1)
 이전글 뷰 레이아웃 사용시 문의 입니다. (2)

댓글

변종원(웅파) / 2021/03/15 10:00:39 / 추천 0

기존 세션아이디에는 데이터가 있는지요?

파일 세션으로 바꿔서 테스트했을 때 문제가 없다면 db세션 부분의 버그(?)로 판단할 수 있습니다.

dyingmini / 2021/03/16 11:22:32 / 추천 0

웅파남 소중한 댓글 감사합니다. 파일 세션으로 했을때 문제가 없는데요...ㅡㅜ

그럼 DB세션 부분의 버그라면.... 다른 방법이 있나요?? ㅡㅜ 제가 부족해서 그런지 방법을 못찾겠네요 ㅡㅜ

세션클러스트링 때문에 DB세션을 사용해야 하는데요.. ㅡㅜ 우째 해야 할까요?? ㅡㅜ