2011-01-28 9 views
3

30 분 동안 사용하지 않거나 23.4 시간이 지나면 세션이 종료됩니다.PHP 세션 만료

문제는 30 분 후에 세션이 파괴된다는 것을 의미합니다. 따라서 사용자가 23.4 시간 내에 계속 활성 상태 인 경우 세션은 23.4 시간 동안 유지되어야하며 사용자를 강제로 다시 로그인하지만 30 분 동안 사용자가 계속 활성 상태 임에도 불구하고 30 분 후에 세션이 파괴됩니다.

가비지 수집기는 액세스 시간이 아닌 수정 된 시간을보고 있기 때문에 사용자가 사이트에서 수행 할 때 수정 된 시간이 업데이트되도록 세션이 time()으로 업데이트됩니다. 당신이 알려 세션 INI 설정의 다른 필요한 경우

Directive     Local Value  Master Value 
session.cache_expire  30    30 
session.cookie_lifetime  1800   1800 
session.gc_divisor   1000   1000 
session.gc_maxlifetime  84400   84400 
session.gc_probability  1    1 
session.save_handler  files   files 

:

다음은 php.ini의 세션 설정입니다.

이 문제에 도움을 주시면 매우 감사하겠습니다.

감사

+0

이 두 옵션이 다른 StackOverflow의 질문에 어떻게 작동하는지 좋은 설명입니다 : http://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after- 30 분 – Merijn

답변

3

session.cookie_lifetime은 30 분으로 설정되어 있으므로 쿠키 (30 분 지난 후) 30 분 후, 그것은 다음 요청에 서버로 전송 whont 만료되며, PHP는 다른 세션을 발행합니다 그/그녀 (PHP는) 요청에 그것을 recived 않았기 때문에.

+0

서버에 대한 각 요청마다 쿠키가 업데이트되지 않습니까? – Nalum

+0

예, 각 요청시 세션 쿠키가 다시 전송됩니다. – arnaud576875

+0

괜찮아요, 당신이 옳다면 간단한 테스트를하고 대답을 삭제하겠습니다. –

0
  1. 세션 기본 설정을 터치하지 마십시오. 기본값을 유지하십시오.

  2. 세션 자체를 사용하여 세션 수명을 확인하십시오.