当前位置:  开发笔记 > 编程语言 > 正文

我的会议会持续多久?

如何解决《我的会议会持续多久?》经验,为你挑选了4个好方法。

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

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

Gumbo.. 84

通常,您可以说session.gc_maxlifetime指定自上次更改会话数据以来的最长生命周期(不是最后一次session_start调用!).但PHP的会话处理有点复杂.

因为会话数据被垃圾收集器删除,垃圾收集器仅由session.gc_divisorsession_start划分的session.gc_probability概率调用.默认值为1和100,因此垃圾收集器仅在所有调用的1%中启动.这意味着即使会话已经在理论上超时(会话数据的更改时间超过了session.gc_maxlifetime秒前),会话数据也可以使用更长的时间.session_start

因此,我建议您实现自己的会话超时机制.请参阅我30分钟后如何使PHP会话过期的答案更多细节.



1> Gumbo..:

通常,您可以说session.gc_maxlifetime指定自上次更改会话数据以来的最长生命周期(不是最后一次session_start调用!).但PHP的会话处理有点复杂.

因为会话数据被垃圾收集器删除,垃圾收集器仅由session.gc_divisorsession_start划分的session.gc_probability概率调用.默认值为1和100,因此垃圾收集器仅在所有调用的1%中启动.这意味着即使会话已经在理论上超时(会话数据的更改时间超过了session.gc_maxlifetime秒前),会话数据也可以使用更长的时间.session_start

因此,我建议您实现自己的会话超时机制.请参阅我30分钟后如何使PHP会话过期的答案更多细节.


`session.cache_expire`只会影响服务器响应的HTTP缓存,但对会话过期没有任何影响.
@matteo不幸的是,很多情况下手册都不太清楚.
session.cache_expire如何与此交互?
值得一提的是,在Debian / Ubuntu发行版中,PHP默认禁用其会话垃圾收集机制。相反,它每半小时运行一次cron作业(请参阅脚本/etc/cron.d/php5)以清除/ var / lib / php5 /目录中的会话文件。(来源:https://www.appnovation.com/node/2564)

2> Lukáš Lalins..:

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

session.gc_maxlifetime  1440    1440



3> Øystein Riis..:

如果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生存期的值,以确保您的会话不会过期.


不是访问时间,而是情绪化时间。

4> svens..:

您正在搜索gc_maxlifetime,有关说明,请参阅http://php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime.

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

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有