2012-07-30 5 views
1
는 내가 원하는 사용자가 재 로그인 할 필요가 없습니다 12 시간 동안 세션 변수를 저장 할 수있다

. 내가 좋아하는 뭔가를 사용하고는 PHP에서 장기 세션과 가비지 컬렉션을 실행

이 :

if(ini_get('session.gc_maxlifetime') !== 3600*12) { 
    ini_set('session.gc_maxlifetime', 3600*12); 
} 
if(ini_get('session.cookie_lifetime') !== 3600*12) { 
    ini_set('session.cookie_lifetime', 3600*12); 
} 

session_start();  

그리고 나는 모두 바코드를 울려서 모두 올바르게 설정되었습니다. 하지만 브라우저가 닫히면 세션이 파손되고 사용자는 로그인해야합니다.

최근에 읽은 적이 있지만 지금은 리소스를 찾을 수 없으므로 오래 실행중인 세션 쿠키의 위치 폴더를 가비지 때문에 변경해야합니다. 수집.

어디서 구성합니까?

감사합니다.

답변

1

이 코드는 정상적으로 보입니다. 먼저 클라이언트 측에서 PHPSESSID 쿠키를 확인하여 실제로 +12 시간 내에 만료되도록 설정해야합니다. "브라우저가 닫히면 세션이 파손되어 사용자가 로그인해야합니다."라고 말하면 쿠키는 +12 시간 내에 만료되지 않도록 설정되어 있습니다. session. * 변수를 설정 한 후 세션을 시작 하시겠습니까?

+0

예 나는 그 후에 session_start()를 사용합니다. 편집을 위해 추가했습니다. – lexeme

+0

브라우저의 PHPSESSID 쿠키는 어떻게됩니까? – Eugene

+0

무엇을 확인해야합니까? 그것의 존재? 그것은 존재합니다. 나는'Chrome 개발자 도구 '로 확인했다. – lexeme