그누보드 설치 후 session 에러 (세션에러) 도와주셔요!
본문
안녕하세요!
그누버전 5.4.22를 설치 한 후 아래와 같이 최상단에 session 관련 에러가 출력되고 있는데요.
--------------------------------------
Warning: session_save_path(): Cannot change save path when session is active in /home/xxxxx/www/common.php on line 211
Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time in /home/xxx/www/common.php on line 218
Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time in /home/xxx/www/common.php on line 219
Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time in /home/xxx/www/common.php on line 220
Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time in /home/xxx/www/common.php on line 221
Warning: session_set_cookie_params(): Cannot change session cookie parameters when session is active in /home/xxx/www/common.php on line 223
Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time in /home/xxx/www/common.php on line 224
----------------------------------------------
참고로,
PHP Version 7.2.22의 단독서버로 기존에 그누보드4가 설치된 또다른 웹사이트를 운영중에 있습니다.
그누보드4로 구성한 기존 사이트는 같은 서버에서 문제없이 운영되고 있고요.
위 에러를 확인해본 결과
common.php 에서
//==============================================================================
// 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);
----------------------------
위 부분이 보완되어야하는데요.
로그인만 되고 아무것도 할 수 없는 상태입니다.
현재 서버의 phpinfo에는
session.save_path --> /var/lib/php/session
로 설정되어 있습니다.
sir에서 검색 후 이것저것 반영해본 결과가 전혀 효과가 없는 상황이에요~
도움 부탁드립니다!
!-->답변 3
퍼미션을 쓰기 권한으로 변경해보시기 바랍니다.
chmod o+w /var/lib/php/session
이부분과
chmod o+w /data/session
data파일 내부에 소유자권한 문제인거같아요
이미 파일의 권한, 소유자계정 모든것이 정상임을 확인했습니다.
오히려 해당 내용들을 모두 주석처리하니 에러없이 진행이 가능하긴합니다.
서버의 설정문제인것은 맞는것 같아요.
이것이 최선의 방법인지는 아직 결론을 내리지 못했습니다만....