질문:
다음 PHP 구성을 기반으로 세션 기간을 어떻게 결정할 수 있습니까? 설정?
session.auto_start Off Off session.bug_compat_42 Off Off session.bug_compat_warn On On session.cache_expire 180 180 session.cache_limiter nocache nocache session.cookie_domain no value no value session.cookie_httponly Off Off session.cookie_lifetime 0 0 session.cookie_path / / session.cookie_secure Off Off session.entropy_file no value no value session.entropy_length 0 0 session.gc_divisor 1000 1000 session.gc_maxlifetime 1440 1440 session.gc_probability 1 1 session.hash_bits_per_character 5 5 session.hash_function 0 0 session.name PHPSESSID PHPSESSID session.referer_check no value no value session.save_handler files files session.save_path /var/lib/php/session /var/lib/php/session session.serialize_handler php php session.use_cookies On On session.use_only_cookies Off Off session.use_trans_sid 0 0
답변:
session.gc_maxlifetime 설정은 마지막 변경 이후 세션 데이터의 최대 수명을 지정하지만 PHP의 세션 처리에는 약간의 복잡성이 있습니다.
구체적으로, 만료된 세션 데이터를 제거하는 가비지 수집기는 모든 session_start 호출에서 호출되지 않습니다. 대신 session.gc_probability(기본값: 1) 및 session.gc_divisor(기본값: 100)에 의해 결정된 확률로 호출됩니다. 이는 세션 데이터가 이론적으로 만료되더라도 더 오랜 기간 동안 사용될 수 있음을 의미합니다.
이 문제를 완화하고 안정적인 세션 시간 초과를 보장하려면 사용자 정의 세션 시간 초과 메커니즘을 구현하는 것이 좋습니다.
위 내용은 PHP의 세션 가비지 수집기는 세션 수명에 어떤 영향을 줍니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!