CI 묻고 답하기

제목 [해결] 안녕하세요 ciboard 로그인후 세션 사라짐 질문입니다.
카테고리 CIBOARD
글쓴이 진이 작성시각 2017/03/13 17:01:37
댓글 : 2 추천 : 1 스크랩 : 1 조회수 : 2033   RSS

해당 경우는 처음이라 당황스러운데

기존에 ciboard 를 잘 사용하고 있었습니다.

서버이전을 위해 idc 측에 centos7 , php7.1 을 요청하고 설치하였고

기존 소스와 데이터베이스를 모두 가져와 붙여넣어 다른것들은 정상작동 하였으나

로그인후 세션이 사라져서 해결방법을 찾지 못하고 있습니다.

로그인 프로세스에서 print_r($_SESSION); 을 찍어 보면 mem_id 가 정상적으로 노출 되나

그후 페이지 이동을 하면 사라지네요.

현재 설정값은 아래와 같습니다.

 

config.php

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
//$config['sess_save_path'] =  APPPATH.'cache/session/';
$config['sess_save_path'] =  NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
$config['cookie_prefix'] = '';
$config['cookie_domain'] = '';
$config['cookie_path'] = '/';
$config['cookie_secure'] = FALSE;
$config['cookie_httponly'] = FALSE;

 

아무래도 달라진점이 있다면 서버를 새로 설치? 했다는거 외에 소스는 이전 서버와 그대로이기에 서버 설정값의 문제인듯 하나

오류메시지도 없고.. 어디가 문제인지 도통 감이 안오네요

권한 문제인가 하여 /var/lib/php/session 도 777로 바꾸어 보았으나 문제가 없으며

selinux 도 현재 0 인 상태 입니다.

 

같은 경험을 해결해보신분 계시다면 꼭 도움 부탁드립니다.

 

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

 

php 7.1 이상에 대한 ci 버전업이 이루어 지지 않아 생긴 문제네요

system/libraries/Session/Session.php 에서

//     session_start();
// Security is king
//    ini_set('session.use_trans_sid', 0);
//    ini_set('session.use_strict_mode', 1);
//    ini_set('session.use_cookies', 1);
//    ini_set('session.use_only_cookies', 1);
//    ini_set('session.hash_function', 1);
//    ini_set('session.hash_bits_per_character', 4);

 

위 코드를 주석후 root/index.php 상단에 session_start();

해서 처리 했습니다.

일단 임시 방편이며 해당 문제 버전업이 되어야 한다는 내용을 발견하여 처리 하였습니다.

 다음글 레디스 타임아웃 질문입니다. (1)
 이전글 뷰페이지에서 여러개의 쿼리데이터를 가져오고 싶습니다. (2)

댓글

한대승(불의회상) / 2017/03/14 07:33:58 / 추천 0

Ci 세션이 PHP7.1에서 제대로 동작하지 않는것 같군요.

좋은 정보 감사합니다.

jcoop / 2017/05/16 22:49:28 / 추천 0
세션문제가 생겨서, 검색도중 이 글을 찾았네요. 위처럼 하니까, 세션이 살아나네요. 좋은 정보 감사합니다.