我的会议将持续多久?(How long will my session last?)

2019-07-20 19:13发布

有人可以告诉我,我的会议将持续多久,从下面的数据? - 我不知道哪一个告诉我

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

Answer 1:

一般来说,你可以说的session.gc_maxlifetime指定因为您的会话数据的最后一个变化最大寿命( 不是最后一次session_start被称为!)。 但是,PHP的会话处理是一个稍微复杂一些。

因为会话数据由垃圾收集器,其仅由称为除去session_start用的概率session.gc_probability合由devided session.gc_divisor 。 默认值是1到100,所以垃圾收集器仅在只有1%的全部开始session_start电话。 这意味着即使在理论上,会话已经超时(会话数据已经比以前的session.gc_maxlifetime秒变多),会话数据可以用来都比较长。

由于这一事实,我建议你实现自己的会话超时机制。 见我的回答对我怎样在30分钟后到期PHP的会话? 更多细节。



Answer 2:

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

session.gc_maxlifetime  1440    1440


Answer 3:

您正在寻找gc_maxlifetime,看到http://php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime的描述。

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



Answer 4:

如果session.cookie_lifetime是0,会话cookie的生活直到浏览器被退出。

编辑 :也有人提到session.gc_maxlifetime设置。 当会话垃圾回收时,垃圾回收器会删除没有在长于被访问的任何会话数据session.gc_maxlifetime秒。 要设定时间到现场进行会话cookie,调用session_set_cookie_params()或定义session.cookie_lifetime PHP设置。 如果此设置大于session.gc_maxlifetime ,你应该增加session.gc_maxlifetime为大于或等于cookie的生命值,以确保您的会议将不会过期。



文章来源: How long will my session last?