有人可以从下面的数据中告诉我我的会话将持续多长时间吗?-我不确定哪个告诉我
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_ 指定自上次更改会话数据( 而不是 上次session_start调用!)以来的最长生存时间。但是PHP的会话处理有点复杂。
session_start
因为会话数据由垃圾收集器,其仅由称为除去session_start用的概率_session.gc_probability合_ 由devided session.gc_divisor 。默认值为1和100,因此垃圾收集器仅在所有session_start调用的1%中启动。这意味着,即使会话在理论上已经超时(会话数据更改的时间超过了几秒钟前的_session.gc_maxlifetime_ ),会话数据的使用时间也可以更长。