잘되던 사이트가 session_start가 안돼요 채택완료
commom.php 안에 아래와 같이 설정되어 있는데요..
오늘 갑자기 session_start가 안돼요.
무슨 이슈가 있는걸까요?
//============================================================================== // SESSION 설정 //------------------------------------------------------------------------------ @ini_set("session.use_trans_sid", 0); // PHPSESSID를 자동으로 넘기지 않음 @ini_set("url_rewriter.tags",""); // 링크에 PHPSESSID가 따라다니는것을 무력화함 (해뜰녘님께서 알려주셨습니다.)
session_save_path(G5_SESSION_PATH);
if (isset($SESSION_CACHE_LIMITER)) @session_cache_limiter($SESSION_CACHE_LIMITER); else @session_cache_limiter("no-cache, must-revalidate");
ini_set("session.cache_expire", 180); // 세션 캐쉬 보관시간 (분) ini_set("session.gc_maxlifetime", 10800); // session data의 garbage collection 존재 기간을 지정 (초) ini_set("session.gc_probability", 1); // session.gc_probability는 session.gc_divisor와 연계하여 gc(쓰레기 수거) 루틴의 시작 확률을 관리합니다. 기본값은 1입니다. 자세한 내용은 session.gc_divisor를 참고하십시오. ini_set("session.gc_divisor", 100); // session.gc_divisor는 session.gc_probability와 결합하여 각 세션 초기화 시에 gc(쓰레기 수거) 프로세스를 시작할 확률을 정의합니다. 확률은 gc_probability/gc_divisor를 사용하여 계산합니다. 즉, 1/100은 각 요청시에 GC 프로세스를 시작할 확률이 1%입니다. session.gc_divisor의 기본값은 100입니다.
session_set_cookie_params(0, '/'); ini_set("session.cookie_domain", G5_COOKIE_DOMAIN);
// @session_start(); //==============================================================================
//============================================================================== // 공용 변수 //------------------------------------------------------------------------------ // 기본환경설정 // 기본적으로 사용하는 필드만 얻은 후 상황에 따라 필드를 추가로 얻음 $config = sql_fetch(" select * from {$g5['config_table']} ");
// 본인인증 또는 쇼핑몰 사용시에만 secure; SameSite=None 로 설정합니다. if( $config['cf_cert_use'] || (defined('G5_YOUNGCART_VER') && G5_YOUNGCART_VER) ) { // Chrome 80 버전부터 아래 이슈 대응 // https://developers-kr.googleblog.com/2020/01/developers-get-ready-for-new.html?fbclid=IwAR0wnJFGd6Fg9_WIbQPK3_FxSSpFLqDCr9bjicXdzy--CCLJhJgC9pJe5ss if(!function_exists('session_start_samesite')) { function session_start_samesite($options = array()) { $res = @session_start($options);
// IE 브라우저 또는 엣지브라우저 일때는 secure; SameSite=None 을 설정하지 않습니다. if( preg_match('/Edge/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~Trident/7.0(; Touch)?; rv:11.0~',$_SERVER['HTTP_USER_AGENT']) ){ return $res; }
$headers = headers_list(); krsort($headers); foreach ($headers as $header) { if (!preg_match('~^Set-Cookie: PHPSESSID=~', $header)) continue; $header = preg_replace('~; secure(; HttpOnly)?$~', '', $header) . '; secure; SameSite=None'; header($header, false); break; } return $res; } }
session_start_samesite(); } else { @session_start(); } //==============================================================================
답변 4개
1. echo G5_SESSION_PATH.'///////////////';
위와 같이 넣어서 세션저장 폴더를 확인헤보세요
2. 최신버젼처럼
session_save_path(G5_SESSION_PATH);를 주석처리하고 해보세요
댓글을 작성하려면 로그인이 필요합니다.
이런경우 3가지 원인을 보실수 있습니다.
1. 호스팅을 이용하실경우 하드 용량을 100% 로 차있는지 확인해보시기 바랍니다. (세션을 저장할 공간이 없을경우 이런현상이 발생됩니다.)
2. 해당 세션저장 경로의 퍼미션을 확인해보시기 바랍니다. (세션이 저장이 안될경우)
3. session_start()를 사용할경우 html 의 상단에 반드시 정의하셔야합니다. (지금 소스를 보시면 중간정도 에 있는데요..이부분 최상단으로 한번 올려보시기 바랍니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
재부팅도 해봤구요.. ㅡㅡ;