session 파일이 삭제가 안됩니다... 정보
session 파일이 삭제가 안됩니다...본문
ini_set("session.cache_expire", 18000); // 세션 캐쉬 보관시간 (18000 = 3시간)
ini_set("session.gc_maxlifetime", 18000); // session data의 gabage collection 존재 기간을 지정 (10800 = 3시간)
common.php 의 191~192 줄에서 시간 설정하면 지워지는 것으로 알고 있습니다.
그런데 지워지지 않아서 서버 접속시 느려지는 현상이 발생했습니다.
어떤 문제인지 아시는분 계신가요?,... 도와주세요..
ini_set("session.gc_maxlifetime", 18000); // session data의 gabage collection 존재 기간을 지정 (10800 = 3시간)
common.php 의 191~192 줄에서 시간 설정하면 지워지는 것으로 알고 있습니다.
그런데 지워지지 않아서 서버 접속시 느려지는 현상이 발생했습니다.
어떤 문제인지 아시는분 계신가요?,... 도와주세요..
댓글 전체
초가 아니라 분일텐데요-_-;;
1800 이면 30시간 이네요..
1800 이면 30시간 이네요..
ini_set("session.cache_expire", 180); // 세션 캐쉬 보관시간 (분)
ini_set("session.gc_maxlifetime", 10800); // session data의 gabage collection 존재 기간을 지정 (초)
10800 이 아닌가요 ? 초단위 체크
ini_set("session.gc_maxlifetime", 10800); // session data의 gabage collection 존재 기간을 지정 (초)
10800 이 아닌가요 ? 초단위 체크
그런문제가 아니라 아예 지워지지가 않습니다.
ini_set("session.cache_expire", 1); // 세션 캐쉬 보관시간 (18000 = 3시간)
ini_set("session.gc_maxlifetime", 1); // session data의 gabage collection 존재 기간을 지정 (10800 = 3시간)
으로 만들어도 그대로 입니다..ㅠㅠ
ini_set("session.cache_expire", 1); // 세션 캐쉬 보관시간 (18000 = 3시간)
ini_set("session.gc_maxlifetime", 1); // session data의 gabage collection 존재 기간을 지정 (10800 = 3시간)
으로 만들어도 그대로 입니다..ㅠㅠ
/adm/session_delete.php 에서 담당합니다.
<?
$sub_menu = "100700";
include_once("./_common.php");
if ($is_admin != "super")
alert("최고관리자만 접근 가능합니다.", $g4[path]);
$g4[title] = "세션 삭제";
include_once("./admin.head.php");
echo "'완료' 메세지가 나오기 전에 프로그램의 실행을 중지하지 마십시오.<br><br>";
echo "<span id='ct'></span>";
include_once("./admin.tail.php");
flush();
$session_path = "$g4[path]/data/session"; // 세션이저장된 디렉토리
if (!$dir=@opendir($session_path)) {
echo "세션 디렉토리를 열지못했습니다.";
}
$cnt=0;
while($file=readdir($dir)) {
if (!strstr($file,'sess_')) {
continue;
}
if (strpos($file,'sess_')!=0) {
continue;
}
if (!$atime=@fileatime("$session_path/$file")) {
continue;
}
if (time() > $atime + (3600 * 6)) { // 지난시간을 초로 계산해서 적어주시면 됩니다. default : 6시간전
$cnt++;
$return = unlink("$session_path/$file");
echo "<script>document.getElementById('ct').innerHTML += '$session_path/$file<br/>';</script>\n";
flush();
if ($cnt%10==0)
echo "<script>document.getElementById('ct').innerHTML = '';</script>\n";
}
}
echo "<script>document.getElementById('ct').innerHTML += '<br><br>세션데이터 {$cnt}건 삭제 완료.<br><br>프로그램의 실행을 끝마치셔도 좋습니다.';</script>\n";
?>
$sub_menu = "100700";
include_once("./_common.php");
if ($is_admin != "super")
alert("최고관리자만 접근 가능합니다.", $g4[path]);
$g4[title] = "세션 삭제";
include_once("./admin.head.php");
echo "'완료' 메세지가 나오기 전에 프로그램의 실행을 중지하지 마십시오.<br><br>";
echo "<span id='ct'></span>";
include_once("./admin.tail.php");
flush();
$session_path = "$g4[path]/data/session"; // 세션이저장된 디렉토리
if (!$dir=@opendir($session_path)) {
echo "세션 디렉토리를 열지못했습니다.";
}
$cnt=0;
while($file=readdir($dir)) {
if (!strstr($file,'sess_')) {
continue;
}
if (strpos($file,'sess_')!=0) {
continue;
}
if (!$atime=@fileatime("$session_path/$file")) {
continue;
}
if (time() > $atime + (3600 * 6)) { // 지난시간을 초로 계산해서 적어주시면 됩니다. default : 6시간전
$cnt++;
$return = unlink("$session_path/$file");
echo "<script>document.getElementById('ct').innerHTML += '$session_path/$file<br/>';</script>\n";
flush();
if ($cnt%10==0)
echo "<script>document.getElementById('ct').innerHTML = '';</script>\n";
}
}
echo "<script>document.getElementById('ct').innerHTML += '<br><br>세션데이터 {$cnt}건 삭제 완료.<br><br>프로그램의 실행을 끝마치셔도 좋습니다.';</script>\n";
?>
adm/session_delete.php 라는 파일이 없는 이유는 무엇일까요..,.?