죄송합니다. 이곳 저곳을 다니며 묻기도 하고, 찾아보기도
했는데,
제대로 답변을 받지 못해서 다시 질문 해보려고 합니다.
부득이한 사정으로 iis에서 php를 사용하게되었습니다.
세션화일에 관해 질문이 있습니다.
환경은 윈도우2000 server(NTFS), iis 5.0 , PHP 4.3.2(CGI/FastCGI
방식)입니다.
php.ini 에서 경로는
session.save_path
D:\temp 로 설정했습니다.
물론 디렉토리를 만들었고, 보안탭도 아예 everyone 모든
권한으로 주었습니다.
세션저장시 session_save_path()를
이용해서 사이트 마다 특정폴더에 세션을 저장합니다.
물론 보안탭도 확인..했습니다.
저장은 잘 됩니다. 세션을 사용하는데도 이상이 없습니다.
세션저장 경로는 "../session_tmp" 같은 방식으로
상대경로를 이용했습니다.
세션저장과 삭제는 잘 됩니다.
브라우저를 그냥 닫았을 경우 뿐 아니라, session_destroy() 를
이용해 로그아웃 되었을 경우 모두다 세션 화일이 삭제가
안됩니다.
리눅스에서 같은 소스와 php.ini화일의 설정이 같을 경우 시간이
지나면 지워지던데, 윈도우라서 그런지 쓰레기 화일이 그대로
존재합니다.
글을 검색하니 일정기간이 지나면 확률에 의해 삭제된다고
설명이 되어있으나, 몇일이 지난 화일도 그대로 0바이트로
존재하고 있습니다.
리눅스 환경과 똑같은 소스를 이용했으며 아주 잘 되는데,
세션화일이 삭제가 되지 않습니다.
리눅스에서는 일정 시간이 지나면 0바이트가 된 화일이 자동
삭제 되었는데,
윈도우환경으로
바뀌고 나서 화일이 시간이 지나도 삭제가 되지 않습니다.
혹시 이와 관련된 옵션이 있으시면 조언 부탁드립니다.
솔직히 그냥 사용하는데 큰 지장은 없으나, 왠지 계속 맘이
걸려서요.
참 그리고, 리눅스의 경우 정상적으로 로그아웃 안하더라도
일정시간이 지나면 세션화일의 값이 삭제되나,
정상 로그아웃 하지않으면 한참 지난(3일) 세션화일 내용도
그대로 살아있습니다.
검색해보니
"session.gc_probability 설정과
session.gc_maxlifetime 설정이 부분이 있습니다.
session.gc_maxlifetime 는
세션의 가비지 콜렉션 타임을 지정하는 것으로 이 시간을
지정해 두면
세션 유효기간이 지난 세션들을 session.gc_probability의
퍼센트 값에 따라 지워버리지요.
100으로 지정할 경우 gc_maxlifetime값이
지난 세션을 모두 삭제(100%)하고
100 이하의 숫자를 지정할 경우 지정한 숫자의 % 비율로
유효기간이 지난 세션들을 삭제하게 됩니다.
접속자가 많은 서버의 경우 이 gc_probability값이
너무 높게 설정되어 있으면
서버의 오버헤드 발생률이 높기 때문에 방문자의 적정수준에
맞추어 설정해 주시면됩니다."
란 내용이 있더군요. 여기서 session.gc_probability의
퍼센트 값이란 어떤것인지 잘 모르겠습니다.
아무튼 session에 관련된 사항은 session.save_path 를 제외하고
defalut값입니다.
session.gc_probability 1
session.gc_maxlifetime 1440
참 하나더 궁금하게 있는데, 웹에서 smtp를 이용해서 Bcc로 숨은
참조로 메일으 보낼때 최대 인원이 얼마정도나 될까요? 조금씩
몇몇씩은 테스트했으나, 윈도우 기본 smtp라서 뻗을거 같아서
겁나는데, 대략 몇명까진 문제가 없을까요? 꽤 많은 인원이
되긴 한데 멤버전체에게 보내려니 얼마나 될까하고요. 아무튼
항상 실속있는 팁과 조언 감사히 보고, 잘쓰고 있습니다.
수고하시고, 건강하십시요.
|