$ _SESSION 변수는 어디에 저장됩니까?
있는가 $_SESSION
변수는 클라이언트 또는 서버에 저장?
$_SESSION
변수 저장소 의 위치는 PHP의 session.save_path
구성에 따라 결정됩니다 . 일반적으로 이것은 /tmp
Linux / Unix 시스템에 있습니다. 도메인 phpinfo()
의이 콘텐츠가 포함 된 파일을 만들어 100 % 확실하지 않은 경우이 기능을 사용 하여 특정 설정을 봅니다 DocumentRoot
.
<?php
phpinfo();
?>
이 구성 설정에 대한 PHP 문서 링크는 다음과 같습니다.
http://php.net/manual/en/session.configuration.php#ini.session.save-path
이미 언급했듯이 내용은 서버에 저장됩니다. 그러나 세션은 클라이언트에 저장되고 각 요청과 함께 전송되는 session-id로 식별됩니다. 일반적으로 session-id는 쿠키에 저장되지만 URL에 추가 할 수도 있습니다. (이것은 PHPSESSID
때때로 볼 수 있는 쿼리 매개 변수입니다)
일반적으로 서버에 저장됩니다. 저장된 위치는 개발자의 책임입니다. session.save_handler
구성 변수 및를 사용하여 session_set_save_handler
세션이 서버에 저장되는 방법을 제어 할 수 있습니다 . 기본 저장 방법은 세션을 파일에 저장하는 것입니다. 그들이 저장되는 위치는 session.save_path
변수에 의해 제어됩니다 .
한 가지 추가 사항 : "/ tmp"가 세션 데이터가 저장된 디렉토리 (기본값 인 것 같음) 인 경우 해당 웹 서버를 재부팅 한 후 "/ tmp로 세션이 지속되지 않습니다. "는 종종 재부팅 중에 제거됩니다. 클라이언트 측 지속성의 개념은 서버의 스토리지 지속성에 따라 달라지며 세션 데이터에 "/ tmp"디렉토리를 사용하면 실패 할 수 있습니다.
데비안에서는 (대부분의 Linux 배포판의 경우가 아닙니까?) / var / lib / php5 /에 저장됩니다. 위에서 언급했듯이 php.ini에서 구성됩니다.
우분투를 사용하고 있으며 세션은 / var / lib / php5에 저장되어 있습니다.
Taylor 씨가 지적했듯이 이것은 보통 php.ini에 설정되어 있습니다. 일반적으로 특정 디렉토리에 파일로 저장됩니다.
우분투 16.10의 경우 세션은 / var / lib / php / session / ...에 저장됩니다.
어떻게 작동합니까? 그것이 나인지 어떻게 알 수 있습니까?
대부분의 세션은 사용자 컴퓨터에서 765487cf34ert8dede5a562e4f3a7e12와 같은 사용자 키 (sessionid라고 함)를 설정합니다. 그런 다음 다른 페이지에서 세션이 열리면 컴퓨터에서 사용자 키를 검색하고 서버를 실행하여 변수를 가져옵니다.
실수로 캐시를 지우면 사용자 키도 지워집니다. ID를 모르므로 더 이상 서버에서 변수를 가져올 수 없습니다.
참고 URL : https://stackoverflow.com/questions/454635/where-are-session-variables-stored
'development' 카테고리의 다른 글
연결하지 않고 문자열에 상수 포함 (0) | 2020.06.09 |
---|---|
파이썬의 목록은 어떻게 구현됩니까? (0) | 2020.06.09 |
PostgreSQL 테이블 이름을 사용할 수 없습니다 (“관계가 존재하지 않습니다”) (0) | 2020.06.09 |
iOS에서 프로그래밍 방식으로 스크린 샷을 찍는 방법 (0) | 2020.06.09 |
“/ usr / bin / ld : -lz를 찾을 수 없습니다” (0) | 2020.06.09 |