2013-02-01 2 views
2

학교 프로젝트에 대한 질문이 있습니다. 누군가의 세션이 끝나면 어떻게해야합니까? 예를 들어, 세션이 끝나면 사용자가 로그인했다는 파일을 삭제하고 싶습니다. 그가 브라우저를 닫거나 잠시 동안 요청을하지 않으면?세션이 PHP로 끝날 때 수행 할 작업

+4

을 시작을 나타냅니다 설정 'session.gc_probability'를 사용합니다 : http://php.net/manual/en/class.sessionhandler.php. –

답변

1

사용자 지정 세션 처리기를 작성하여 수행 할 수 있습니다. 그러나

http://phpmaster.com/writing-custom-session-handlers/

'가비지 컬렉션'(당신이 원하는대로 파일을 청소는) 직후 발생하지 않는 것을 알고 : 당신이 적절한 설명을 찾을 수 있습니다 본 사이트의

세션이 닫혔습니다!

빌마다 한 번씩 XXX 요청, PHP는 폐쇄/오래된 세션에 대한보고 사용자 정의 세션 핸들러를 사용하여 가비지 콜렉션을

http://www.php.net/manual/en/session.configuration.php#ini.session.gc-probability

4

직접 추적 할 방법이 없습니다. 그러나 사용자가 페이지를 마지막으로로드 할 때 데이터베이스를 사용하고 저장소에 저장 한 다음 모든 X 분 동안 cron 작업을 실행하여 마지막 Y 분 동안 사용자가 아무것도 수행하지 않았는지 확인합니다.

+1

이것은 사용자 정의 세션 처리기보다 더 신뢰할 수 있으며 GC에 의존하려고합니다. – ficuscr

관련 문제