그누보드 사용하다보면 세션파일 엄청나게 쌓여서 아예 로그인이 불가능할때가 있죠..ㅠ
저도 방금.. 후..
서버커맨드로 직접 삭제도 해보고
관리자에서 session_delete로 삭제도 해봐도
삭제하는 속도보다 쌓이는 속도가 많아서 도저히 컨트롤이 안됐더랬죠..
그땐!
그냥 session_tmp 같은 임시 폴더를 같은 위치에 만들고 777퍼미션 주고
common.php 파일에서 session_save_path 에서 session -> session_tmp 폴더 설정만 해주시면 바로 열릴겁니다..
기존 로그인 세션들은 날라가겠지만
일단 로그인은 열수 있습니다
화이팅
밤샐뻔 했네요..
저도 방금.. 후..
서버커맨드로 직접 삭제도 해보고
관리자에서 session_delete로 삭제도 해봐도
삭제하는 속도보다 쌓이는 속도가 많아서 도저히 컨트롤이 안됐더랬죠..
그땐!
그냥 session_tmp 같은 임시 폴더를 같은 위치에 만들고 777퍼미션 주고
common.php 파일에서 session_save_path 에서 session -> session_tmp 폴더 설정만 해주시면 바로 열릴겁니다..
기존 로그인 세션들은 날라가겠지만
일단 로그인은 열수 있습니다
화이팅
밤샐뻔 했네요..
댓글 7개
음.. 저도 PHP 세션 파일때문에 서버가 문제가 생겨서 고생한 적이 있어서 해결 방법을 공유합니다~ ^^
서버에 문제가 생겼다는 연락을 받고 서버를 점검해 봤는데 분명히 서버 disk 용량이 남아 있는데
disk 용량이 없어서 파일 쓰기가 안되는 현상이 발생해서 찾아보니 inode 용량이 full 나서 그런 문제가
발생했네요.. 문제의 원인은 PHP 세션 파일, 세션 파일이 저장된 디렉토리를 살펴보니 세션 파일만
수백만개가 쌓여있었습니다. -_-;;; 지우는데만 한참 걸렸네요..
방법을 찾아보다가 그냥 cron 으로 매일 자동 삭제하는 스크립트를 만들어서 해결을 했습니다.
cron에 매일 새벽에 자동 실행하는 스크립트에 아래 명령을 하나 추가하시면 됩니다.
rm /var/lib/php5/sess_*
sess_로 시작하는 PHP 세션 변수 파일만 삭제합니다.
df -h : 실제 디스크 용량 확인
df -ih : inode 용량 확인
Ubuntu Linux 기준 입니다.
서버에 문제가 생겼다는 연락을 받고 서버를 점검해 봤는데 분명히 서버 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();
// 세션 폴더는 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();
게시글 목록
| 번호 | 제목 |
|---|---|
| 33133 | |
| 33132 | |
| 33099 | |
| 33091 | |
| 33090 | |
| 33075 | |
| 33070 | |
| 33068 | |
| 33065 | |
| 33043 | |
| 33031 | |
| 33030 | |
| 33028 | |
| 33018 | |
| 33016 | |
| 33006 | |
| 33005 | |
| 33000 | |
| 32984 | |
| 32974 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기