2016-08-15 4 views
0

세션 변수가 약 30-90 분 후에 사라지는 것을 발견했습니다. 다음과 같이세션 변수가 사라짐

function setSsnVar($nm, $vlu) { 
    chkSsn(); 
    $_SESSION[$nm] = $vlu; 
} 

을 그들 검색 : 나는 다음과 같이 세션 변수를 설정하고

function chkSsn() { 
    if (session_status() == PHP_SESSION_NONE) 
     session_start(); 
} 

: 내가 세션 변수를 검색하기 전에 세션이 일반적인 방법으로 시작되었는지 확인

function ssnVar($nm) { 
    chkSsn(); 
    if (array_key_exists($nm, $_SESSION)) 
     return $_SESSION[$nm]; 
    else 
     return ""; 
} 

"session_start"직후에 다음 줄을 추가했지만 아무런 차이가 없었습니다.

header("Cache-Control: no-cache"); 
header("Pragma: no-cache"); 

Firefox 48, Apache/2.4.7 (Ubuntu) 및 PHP 버전 5.5.9-1ubuntu4.19를 사용하고 있습니다.

+1

[이 질문에] (http://stackoverflow.com/questions/8311320/how-to-change-the-session-timeout-in-php) 도움이 될 수 있습니까? – Henders

답변

1

php.ini의 설정으로 인해 세션 데이터가 클라이언트 브라우저 또는 서버에서 시간 초과 될 수 있습니다. 표준 설정은 session.cookie_lifetimesession.gc_maxlifetime입니다. 실제로 세션 수명을 제어하는 ​​중요한 설정이 추가되어 있으므로이 방법을 사용하는 것이 좋습니다 (article).

따라서 phpinfo()PHP Manual - phpinfo 함수를 호출하고 PHP 설정을 출력하는 간단한 PHP 페이지를 만드십시오. 거기에서 문제를 해결할 수 있어야합니다.