我的课程将持续多长时间?

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


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


有只小跳蛙
浏览 508回答 3
3回答

守着一只汪

通常,您可以说session.gc_maxlifetime指定自上次更改会话数据(而不是上次session_start调用!)以来的最长生存时间。但是PHP的会话处理有点复杂。因为会话数据由垃圾收集器,其仅由称为除去session_start用的概率session.gc_probability合由devided session.gc_divisor。默认值为1和100,因此垃圾收集器仅在所有session_start调用的1%中启动。这意味着,即使会话在理论上已经超时(会话数据更改的时间超过了几秒钟前的session.gc_maxlifetime),会话数据的使用时间也可以更长。因此,我建议您实施自己的会话超时机制。请参阅我的答案,如何在30分钟后使PHP会话到期?更多细节。

慕勒3428872

如果session.cookie_lifetime为0,则会话cookie一直存在,直到退出浏览器。编辑:其他人提到了session.gc_maxlifetime设置。发生会话垃圾收集时,垃圾收集器将删除超过session.gc_maxlifetime几秒钟未访问的所有会话数据。要设置会话cookie的生存时间,请调用session_set_cookie_params()或定义session.cookie_lifetimePHP设置。如果此设置大于 session.gc_maxlifetime,则应将其增加到session.gc_maxlifetime大于或等于Cookie生存期的值,以确保会话不会过期。
打开App,查看更多内容
随时随地看视频慕课网APP