>백엔드 개발 >PHP 문제 >PHP에서 세션이 만료되지 않게 만드는 방법은 무엇입니까?

PHP에서 세션이 만료되지 않게 만드는 방법은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-07-21 10:59:154161검색

php.ini 파일을 열고 "session.use_cookies" 값을 1로, "session.cookie_lifetime" 값을 999999999로, "session.gc_maxlifetime" 값을 99999999로 설정합니다. 그게 전부입니다.

PHP에서 세션이 만료되지 않게 만드는 방법은 무엇입니까?

php에서 세션이 만료되지 않게 만드는 방법

첫 번째 방법:

php.ini 설정 파일을 열고 다음과 같이 세 줄을 수정합니다. [관련 튜토리얼 권장 사항: " PHP 튜토리얼 》】

1. session.use_cookies

이 값을 1로 설정하고 쿠키를 사용하여 sessionid

2를 전달합니다. session.cookie_lifetime

SessionID가 클라이언트 쿠키에 저장되는 시간을 나타냅니다. 0은 브라우저가 닫히자마자 SessionID가 무효화됨을 나타냅니다... 이로 인해 PHP 세션을 영구적으로 사용할 수 없습니다! 그럼 우리가 생각하기에 크다고 생각되는 숫자로 설정해 보겠습니다. 999999999는 어떻습니까? 괜찮습니다! 그게 다야.

3.session.gc_maxlifetime

이 시간이 초과되면 세션 데이터가 자동으로 삭제됩니다. 그럼 99999999로 설정해 보겠습니다.

그렇습니다. 물론 믿을 수 없다면 테스트해 보세요. 세션을 설정하고 컴퓨터에 정전이 발생하지 않거나 10일 반 후에 다시 오세요. 다운타임이 있어도 이 세션 ID를 계속 볼 수 있습니다.

두 번째 방법:

물론, 서버를 제어할 수 있는 권한이 없어 php.ini 설정을 수정하지 못할 수도 있습니다. 물론 쿠키를 저장하려면 클라이언트를 사용해야 합니다. 획득한 세션 ID를 클라이언트의 쿠키에 저장하고 이 값을 session_id() 함수에 전달합니다.

<?php 
session_start(); // 启动Session 
$_SESSION[&#39;count&#39;]; // 注册Session变量Count 
isset($PHPSESSID)?session_id($PHPSESSID):$PHPSESSID = session_id(); 
// 如果设置了$PHPSESSID,就将SessionID赋值为$PHPSESSID,否则生成SessionID 
$_SESSION[&#39;count&#39;]++; // 变量count加1 
setcookie(&#39;PHPSESSID&#39;, $PHPSESSID, time()+3156000); // 储存SessionID到Cookie中 
echo $count; // 显示Session变量count的值 
?>

참고: setcookie 라인의 'PHPSESSID'는 다음과 같습니다. 확실하지 않습니다. 수정에 열광하는 사람을 만난다면 해당 질병의 네트워크 관리자가 수정했을 수 있습니다. 가장 좋은 방법은 phpinfo() 함수를 사용하여 session.name 항목의 값을 확인하는 것입니다.

관련 주제 추천: php 세션 (사진, 텍스트, 비디오, 사례 포함)

위 내용은 PHP에서 세션이 만료되지 않게 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.