엄청나게 많은 세션파일때문에 로그인이 불가능할때 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

엄청나게 많은 세션파일때문에 로그인이 불가능할때 정보

엄청나게 많은 세션파일때문에 로그인이 불가능할때

본문

그누보드 사용하다보면 세션파일 엄청나게 쌓여서 아예 로그인이 불가능할때가 있죠..ㅠ
저도 방금.. 후..

서버커맨드로 직접 삭제도 해보고
관리자에서 session_delete로 삭제도 해봐도
삭제하는 속도보다 쌓이는 속도가 많아서 도저히 컨트롤이 안됐더랬죠..

그땐!
그냥 session_tmp 같은 임시 폴더를 같은 위치에 만들고 777퍼미션 주고
common.php 파일에서 session_save_path 에서 session -> session_tmp 폴더 설정만 해주시면 바로 열릴겁니다..

기존 로그인 세션들은 날라가겠지만
일단 로그인은 열수 있습니다
화이팅
밤샐뻔 했네요..
추천
1

댓글 7개

저같은 경우는 세션삭제 클릭하면은 항시 0 입니다.
암것도 없어요

서버쪽에 문의해도 모른다하고,,
사이트는 3년가까이 되가는데 여직 그게 어디로 갓을가요?

이런경우도 있는지,,
그누에 모든 세션에 대한글 봐도 몰르겟고

오늘도 세션삭제는 0
ㅠㅠ

그래서 세션에 대해선 까먹은지,,,,오래됫어요
신경안써서 좋긴하다만,,,
common.php 파일에 session_save_path에 있는 경로랑
adm/session_delete.php 에 있는 경로랑 비교해보시고 맞춰주시면 되요 ㅎ

그게 아니면 세션을 다른 memcached나 디비로 처리하고 있겠네욤 그걸 확인하시면 될듯하네요
음.. 저도 PHP 세션 파일때문에 서버가 문제가 생겨서 고생한 적이 있어서 해결 방법을 공유합니다~ ^^

서버에 문제가 생겼다는 연락을 받고 서버를 점검해 봤는데 분명히 서버 disk 용량이 남아 있는데
disk 용량이 없어서 파일 쓰기가 안되는 현상이 발생해서 찾아보니  inode 용량이 full 나서  그런 문제가
발생했네요..  문제의 원인은 PHP 세션 파일, 세션 파일이 저장된 디렉토리를 살펴보니 세션 파일만
수백만개가 쌓여있었습니다. -_-;;; 지우는데만 한참 걸렸네요..

방법을 찾아보다가 그냥 cron 으로 매일 자동 삭제하는 스크립트를 만들어서 해결을 했습니다.

cron에 매일 새벽에 자동 실행하는 스크립트에 아래 명령을 하나 추가하시면 됩니다.

rm /var/lib/php5/sess_*

sess_로 시작하는 PHP 세션 변수 파일만 삭제합니다.

df -h  : 실제 디스크 용량 확인
df -ih  : inode 용량 확인

Ubuntu Linux 기준 입니다.
//아래 함수를 common.php 파일에 @session_start(); 아래쪽에 넣어주세요.
// 세션 폴더는 session_save_path() 에 설정된 값으로 맞춰 주세요.
// $deltime 변수에서 설정된 시간보다 지난 파일을 삭제합니다.
// 주로 apmsetup 으로 설치된 경우 발생하네요.

// 2016.02.02 다나 지현진
function SessionFileDelete(){
  $delTime=time()-10900; // 설정된 시간 이상 경과된 세션파일이 남아 있다면 삭제함
  $handle=@opendir("./data/session");
  while ($file = @readdir($handle)){
      if(preg_match("/^\./",$file) or $file=='index.php') continue;
      if(@filemtime("./data/session".'/'.$file)<$delTime){
          @unlink("./data/session".'/'.$file);
      }
  }
  @closedir($handle);
}
@SessionFileDelete();
전체 3,310 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT