오래된 세션 삭제팁 적용시 오류 발생.
여기 올려주신 팁을 적용하고 관리자 메뉴에 클릭할 수 있도록 파일로 저장하였습니다.
그래서 메뉴에서 클릭을 하면
아래와 같은 오류가 뜹니다.
Warning: unlink(/tmp/sess_e5c2b22810c4bbfaa20f3f298764496e): Operation not permitted in /home/hosting_users/narang/www/adm/sesout.php on line 12
Warning: unlink(/tmp/sess_e5c2b22810c4bbfaa20f3f298764496e): Operation not permitted in /home/hosting_users/narang/www/adm/sesout.php on line 12
12번째 줄은
if ($Ytime > $session_mtime) unlink($Ysession_path . $entry);
입니다. 고수님들의 좋은 방법 부탁 드립니다.
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 13개
오류가 생깁니다....
조언 부탁 드립니다.
일반적으로는 아무 이상없이 지워지는게 당연한 것인데
아마도 세션 디렉토리를 따로 지정하지 않고
최상위 /tmp디렉토리를 그대로 사용해서 생기는 퍼미션 문제인듯 보입니다.
그누보드 라면
그누보드 최상위 디렉토리에 보면
config.php라는 파일이 있는데
$g4['dir_path_session'] = $g4['path'] . '/data/session';
이부분을 이렇게 해주시고
쉘상에서 퍼미션을 777로 주시고 해보시거나
그누보드가 아니라면
session_start();
하기 윗단에
session_save_path('절대경로나 상대경로');
로서 추가해주시고
퍼미션을 777로 주시기 바랍니다.
일반적으로 정상적인 경우라면
세션 파일은 루트로 ftp에 접속하지 않는 이상 지워지지 않는게 정상입니다.
그래도 안된다면 호스팅사의 서버에서 보안설정이 강하게 되어있어서 그럴수 있습니다.
위 방법대로 해도 안될경우 호스팅사에 문의 해보시기 바랍니다.
// 디렉토리
$g4['dir_path_session'] = $g4['path'] . '/data/session';
음.. 방법이 없는가 봅니다.
그 오류메세지를 올려보세요.
Warning: unlink(/tmp/sess_e5c2b22810c4bbfaa20f3f298764496e):
이것의 경로가 다를것인데 그걸 한번 올려봐 주세요
그리고 텔넷이나 ftp로 들어가셔서
지정한 세션 디렉토리로 이동하시고
거기서
ll
한다음 뿌려진 결과물도 같이 복사해서 올려봐 주십시오,
php.ini에서
session_save_path 이함수를 못쓰도록 지정해 두었다면
세션디렉토리 지정이 되지 않을 수도 있습니다.
만약 그런 문제라면 서버 관리자랑 대화해보시기는게 좋겠습니다
이 경로는 같습니다.
그리고 텔넷에서
data 폴더 아래 session 폴더로 가서
ll 입력하고 엔터 치니까..
-rw----r-- 1 narang narang 0 Jun 13 18:37 index.php
-rw------- 1 narang narang 390 Oct 2 20:59 sess_054bbe6f23deee404d88e330645d7b32
-rw------- 1 narang narang 276 Oct 2 21:04 sess_14ca2198567cf6fb3ca6a4834bd2eb3e
-rw------- 1 narang narang 148 Oct 2 21:11 sess_2436cfa585ee19ddaafc700587de5878
-rw------- 1 narang narang 0 Oct 2 20:57 sess_256b1c3d7c467b0b54784f46fccecf87
-rw------- 1 narang narang 310 Oct 2 21:12 sess_2b4050ccdd2680c212bec929650c83fc
-rw------- 1 narang narang 0 Oct 2 20:57 sess_2b9f5656f3de2cdae6680494f9cd2fcf
-rw------- 1 narang narang 0 Oct 2 21:20 sess_3dfcdd2b7f9d1dff3eb21e9caeea7664
-rw------- 1 narang narang 195 Oct 2 21:17 sess_4707c02093f8134bccaa89508bbb9aea
-rw------- 1 narang narang 200 Oct 2 21:21 sess_4f38bd3cde23339ad7697ded6244f41f
-rw------- 1 narang narang 0 Oct 2 21:08 sess_627a63e082422eef44058bd8342c288f
이 내용이 출력 되네요...
php.ini에서
Local Value | Master Value
session.save_path ../data/session | /tmp
이렇게 되어있구요...
웹서버가 자기 계정환경으로 돌아가고
제대로 세션 경로를 반환하지 못하는 군요
이럴경우
제가 올린 소스부분에서
$Ysession_path = session_save_path();
요부분을
$Ysession_path = $g4['dir_path_session'];
이렇게 하시거나
관리자 파일에 포함하지 않았을경우에는
$Ysession_path = config.php에서 세팅한 값을 직접 넣어주시면 될것 같습니다.
$g4['dir_path_session'] = $g4['path'] . '/data/session';
이렇게 되어있구요...
$Ysession_path = session_save_path();
요부분을
$Ysession_path = $g4['dir_path_session'];
이렇게 하니 아래와 같은 오류가 뜨네요...에구... 참여러가지로 애먹이네요...
Warning: unlink(/lost+found): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/boot): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/var): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/home): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/usr): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/misc): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/mnt): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/opt): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/dev): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/selinux): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/sbin): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/bin): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/srv): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/initrd): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/lib): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/lib64): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/media): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/disk2): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/src): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/proc): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/disk): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
Warning: unlink(/sys): Permission denied in /home/hosting_users/narang/www/adm/sesout.php on line 13
오늘 그누보드 들어왓다가
계속 이것만 쳐다보고 있군요.
언제쯤 테스트 해보시고 답변이 달릴까요.
집에가야 하는데......
관리자 하위에 인클루드 햇다면
저 변수를 인식해야 하는데 인식을 못하는군요
$g4['dir_path_session'] = '/home/hosting_users/narang/www/data/session/';
라고 직접 절대경로를 입력해주시고 테스트 해주시기 바랍니다
해당 파일이 adm디렉토리 안에 있다면
<?php
include('./_common.php');
$Ydel_date = 3;//일단위 세팅, 3일 이상 된 것은 삭제
$Ytime = time() - ($Ydel_date * 60 * 60 * 24);
$Ysession_path = session_save_path();
이하 상동