PHP 세션 작동 메커니즘은 클라이언트가 세션 ID를 서버에 전달하고 서버는 세션 ID를 기반으로 해당 파일을 찾아 역직렬화하여 세션 값을 얻는 것입니다. , 그리고 저장합니다. 먼저 직렬화한 후
을 작성하면, 오늘 공유할 지식 포인트는 PHP에서 세션을 실행하는 메커니즘입니다. PHP에 익숙한 개발자에게는 낯설지 않지만 말입니다. 이제 막 시작한 사람들에게는 낯설지 않습니다. 매우 이해할 수 있습니다. 다음 글에서는 참고 효과가 있는 PHP의 세션 운영 메커니즘을 자세히 소개하겠습니다.
# 🎜🎜## 🎜🎜#
【추천 강좌: PHP 세션 운영 메커니즘 의미: #🎜 🎜##🎜 🎜#PHP 세션 작동 메커니즘은 클라이언트가 세션 ID를 서버에 전달하는 것입니다. 서버는 읽을 때 파일 내용을 역직렬화하여 세션을 가져옵니다. 값을 저장할 때 직렬화한 다음
PHP 세션 메커니즘 분류PHP에는 두 가지 메커니즘, 즉 기본 메커니즘이 있습니다. 및 사용자 정의 메커니즘을 정의합니다.
기본 메커니즘php.ini 구성:
session.save_handler = files
이 사용됩니다 다음 부분으로 구성된 PHP 세션을 구현하기 위한 디스크 파일:
session_start()session_start()는 세션의 시작입니다. 메커니즘은 가비지 수집을 활성화할 확률이 있습니다. 이 확률은 php.ini의 구성에 따라 결정됩니다. 일부 시스템에서는 session.gc_probability = 0, 즉 확률이 0이고 #🎜🎜이 없기 때문입니다. #은 $_session 할당
새 값 추가는 메모리에만 유지됩니다. 스크립트 실행이 끝나면 $_session 값을 session_id로 지정된 폴더에 쓴 후 닫습니다. 관련 리소스. 이 단계에서는 이전 session_id를 삭제하고 새 session_id를 생성하는 등 session_id를 변경하는 작업을 수행할 수 있습니다. 이는 일반적으로 사용자 정의 세션 작업에 사용됩니다Example
:if (isset($_COOKIE[session_name()])) { setcookie(session_name(),'',time() -42000,'/');//旧session cookie过期 } session_regenerate_id();//这一步会生成新的session_id //session_id()返回的是新的值
쓰기 세션 작업#🎜🎜 #
스크립트 마지막에 세션 쓰기 작업이 수행되고 $_session의 값이 session_id라는 이름의 파일에 기록됩니다. 이미 존재할 수도 있고 새 파일이 필요할 수도 있습니다. 생성됩니다.
세션에서 보낸 쿠키는 일반적으로 인스턴트 쿠키이며 메모리에 저장됩니다. 브라우저를 닫을 때까지 만료되지 않지만, 브라우저를 닫지 않고 그냥 로그아웃하려는 경우에는 코드에서 세션을 삭제해야 합니다.
예: 1. setcookie(session_name(),session_id(),time() -8000000,..);//退出登录前执行
2. usset($_SESSION);//这会删除所有的$_SESSION数据,刷新后,有COOKIE传过来,但是没有数据。
3. session_destroy();//这个作用更彻底,删除$_SESSION 删除session文件,和session_id
사용자 정의 세션 처리 메커니즘# 🎜🎜#php.ini 구성
session.save_handler = user
open($save_path,$session_name) 문을 실행하여 세션 작업 핸들을 엽니다.
Execute read( $id)에서 읽으려면 데이터 가져오기
Note: $save_path는 이 경우 직접 true를 반환합니다
스크립트 실행이 종료됩니다.#🎜 🎜#
write($id,$sess_data) 문 실행세션 삭제
해야 합니다. 사용자가 세션을 삭제해야 하는 경우 먼저 삭제를 실행한 다음 2단계를 실행해야 합니다
요약: 위 내용은 전체 내용입니다 이 기사가 모든 사람에게 도움이 되기를 바랍니다.
php 중국어 네트워크 학습 주제
:php 세션(사진, 텍스트, 동영상, 사례 포함)
# 🎜🎜#위 내용은 PHP 세션 작동 메커니즘을 이해하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!