Kei*_*gan 44 php session timeout
有人可以告诉我我的会话将持续多长时间从下面的数据? - 我不确定哪一个告诉我
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
Run Code Online (Sandbox Code Playgroud)
Gum*_*mbo 84
通常,您可以说session.gc_maxlifetime指定自上次更改会话数据以来的最长生命周期(不是最后一次session_start
调用!).但PHP的会话处理有点复杂.
因为会话数据被垃圾收集器删除,垃圾收集器仅由session.gc_divisorsession_start
划分的session.gc_probability概率调用.默认值为1和100,因此垃圾收集器仅在所有调用的1%中启动.这意味着即使会话已经在理论上超时(会话数据的更改时间超过了session.gc_maxlifetime秒前),会话数据也可以使用更长的时间.session_start
因此,我建议您实现自己的会话超时机制.请参阅我30分钟后如何使PHP会话过期的答案?更多细节.
Luk*_*ský 20
这是一个.会议将持续1440秒(24分钟).
session.gc_maxlifetime 1440 1440
Run Code Online (Sandbox Code Playgroud)
如果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生存期的值,以确保您的会话不会过期.
您正在搜索gc_maxlifetime,有关说明,请参阅http://php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime.
您的会话将持续1440秒,即24分钟(默认).
归档时间: |
|
查看次数: |
102398 次 |
最近记录: |