我的会议将持续多久?

有人可以告诉我我的会话将持续多长时间从下面的数据? – 我不确定哪一个告诉我

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.gc_probability的概率由session.gc_divisor分类 。 默认值是1和100,所以垃圾收集器只能在所有session_start调用的1%中启动。 这意味着,即使会话在理论上已经超时(会话数据已经改变超过session.gc_maxlifetime秒前),会话数据也可以使用更长的时间。

因为这个事实,我build议你实现你自己的会话超时机制。 查看我的答案如何在30分钟后过期PHP会话? 更多细节。

这是一个。 会议将持续1440秒(24分钟)。

 session.gc_maxlifetime 1440 1440 

您正在寻找gc_maxlifetime,请参阅http://php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime获取描述。;

您的会话将持续1440秒,即24分钟(默认)。

如果session.cookie_lifetime为0,则会话cookie将一直session.cookie_lifetime ,直到浏览器退出。

编辑 :其他人已经提到了session.gc_maxlifetime设置。 当会话垃圾收集发生时,垃圾收集器将删除任何未超过session.gc_maxlifetime秒的访问的会话数据。 要设置会话cookie的生存时间,请调用session_set_cookie_params()或定义session.cookie_lifetime PHP设置。 如果此设置大于session.gc_maxlifetime ,则应将session.gc_maxlifetime增加到大于或等于cookie生存期的值,以确保您的会话不会过期。