개발 Q&A

제목 페이지 이동 시 세션 값이 초기화되어버리는데, 왜 그런가요? ㅜ
카테고리 PHP
글쓴이 오늘은피곤해 작성시각 2022/11/18 12:33:40
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 454   RSS

기존에 운영하던 서버에서 CI3으로 만들어진 사이트를 하나 다른 서버로 이전하게 되었습니다.

우분투 서버이고, PHP 기존 7.0 기반이었고, 이전한 서버는 7.3 기반입니다.

그랬더니, 페이지 이동 시 세션 유지가 안됩니다.

최초 로그인 페이지에서 값 입력하고 로그인하면 /Index.php 페이지로 이동하는데, 아이디랑 비밀번호 정상적으로 입력해도

로그인 하라고 다시 로그인 페이지로 팅겨내버립니다.

 

로그인 페이지에서 메인 페이지로 이동할 때 세션이 유지가 안되는 게 원인이라고 추측은 합니다만, 왜 그런지 모르겠습니다.

log_message 찍어보면 Login.php 파일에선 세션값 제대로 만들어서 넘기는데, Index.php 파일에선 세션 값이 다 비어버립니다....

 

아래는 config.php 내용입니다.

 

$config['sess_driver']                   = 'files';

$config['sess_cookie_name']          = 'ci_session';

$config['sess_expiration']              = 0;

$config['sess_save_path']              = '/var/www/mysite/appl/';

$config['sess_match_ip']               = FALSE;

// $config['sess_time_to_update']    = 300;

$config['sess_time_to_update']        = 43200;

$config['sess_regenerate_destroy']   = TRUE;

 

----------------------

아무래도 세션 파일 파일이 두 개 만들어지면서 생기는 문제 같은데요.

Login.php 파일에서 세션 파일을 만들면 로그인하려는 계정 정보들이 다 담겨서 들어가는데,

로그인 후 이동하는 Index.php 에서 불러오는 My_Controller.php 파일에서 세션 파일을 한 번 더 만들고,

거기엔 계정 정보들이 빈 값으로 들어간 세션 파일이 생성되어버리는 것 같아요.

그래서 ci_last 불러오면 계정 정보나 로그인 값이 False로 되어서,

페이지 이동 시 로그인이 안된 걸로 처리되는 것 같아요.

 

----------------------

왜 세션 파일이 두 번 생성되는지, 혹시 해결 방법이 있을지 알 수 있을까요?


첨부파일 세션 생성 파일 목록.png (30.2 KB)
 다음글 어떤 애플리케이션을 cloud로 운영한다고 했을 때 p... (4)
 이전글 figure 에 대한 질문 (3)

댓글

변종원(웅파) / 2022/11/21 17:48:16 / 추천 0

질문에 답이 있습니다. "로그인 후 이동하는 Index.php 에서 불러오는 My_Controller.php 파일에서 세션 파일을 한 번 더 만들고,"

생각하시는 대로 빈 세션이 하나 더 만들어져서 그렇게 보이는 거구요.

ci 3점대 파일 세션에서는 재현이 안되던 현상인데...

우선 My_Controller.php에 세션 선언하는게 있는지 확인해보세요.