我的疗程会持续多长时间?
有人可以根据下面的数据告诉我我的会话将持续多长时间吗? - 我不确定是哪一个告诉我的
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
Can someone please tell me how long my session will last from the data below? - I'm not sure which one tells me
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
一般来说,您可以说 session.gc_maxlifetime 指定自上次更改会话数据以来的最长生命周期(不是上次调用
session_start
时!)。但 PHP 的会话处理稍微复杂一些。因为会话数据被垃圾收集器删除,该垃圾收集器仅由
session_start
调用session.gc_probability< 的概率/a> 由 session.gc_divisor。默认值为 1 和 100,因此垃圾收集器仅在所有session_start
调用的 1% 中启动。这意味着即使会话理论上已经超时(会话数据已在 session.gc_maxlifetime 秒前更改),会话数据的使用时间也可以比这更长。因此,我建议您实现自己的会话超时机制。请参阅我对如何进行的回答PHP 会话在 30 分钟后过期吗? 了解更多详细信息。
In general you can say session.gc_maxlifetime specifies the maximum lifetime since the last change of your session data (not the last time
session_start
was called!). But PHP’s session handling is a little bit more complicated.Because the session data is removed by a garbage collector that is only called by
session_start
with a probability of session.gc_probability devided by session.gc_divisor. The default values are 1 and 100, so the garbage collector is only started in only 1% of allsession_start
calls. That means even if the the session is already timed out in theory (the session data had been changed more than session.gc_maxlifetime seconds ago), the session data can be used longer than that.Because of that fact I recommend you to implement your own session timeout mechanism. See my answer to How do I expire a PHP session after 30 minutes? for more details.
就是这个。会议将持续 1440 秒(24 分钟)。
This is the one. The session will last for 1440 seconds (24 minutes).
如果
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 生存期的值,以确保您的会话不会过期。If
session.cookie_lifetime
is 0, the session cookie lives until the browser is quit.EDIT: Others have mentioned the
session.gc_maxlifetime
setting. When session garbage collection occurs, the garbage collector will delete any session data that has not been accessed in longer thansession.gc_maxlifetime
seconds. To set the time-to-live for the session cookie, callsession_set_cookie_params()
or define thesession.cookie_lifetime
PHP setting. If this setting is greater thansession.gc_maxlifetime
, you should increasesession.gc_maxlifetime
to a value greater than or equal to the cookie lifetime to ensure that your sessions won't expire.您正在搜索 gc_maxlifetime,请参阅 http:// php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime 的描述。
您的会话将持续 1440 秒,即 24 分钟(默认)。
You're searching for gc_maxlifetime, see http://php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime for a description.
Your session will last 1440 seconds which is 24 minutes (default).