Php 我的疗程会持续多久?

Php 我的疗程会持续多久?,php,session,timeout,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 sessi

有人能从下面的数据告诉我我的会话将持续多长时间吗?-我不知道是谁告诉我的

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

就是这个。该会话将持续1440秒(24分钟)


编辑:其他人提到了
会话.gc\u maxlifetime
设置。当会话垃圾回收发生时,垃圾回收器将删除在
session.gc_maxlifest
秒以上未被访问的任何会话数据。要设置会话cookie的生存时间,请调用或定义
session.cookie\u life
PHP设置。如果此设置大于
session.gc\u maxlifetime
,则应将
session.gc\u maxlifetime
增加到大于或等于cookie生存期的值,以确保会话不会过期。

要搜索gc\u maxlifetime,请参阅以获取说明

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

通常,您可以说指定自上次更改会话数据以来的最长生存期(而不是上次调用
会话\u start
)。但是PHP的会话处理稍微复杂一点

因为会话数据是由垃圾回收器删除的,垃圾回收器仅由调用,并且有可能被devided by。默认值为1和100,因此垃圾收集器仅在所有
会话\u start
调用中的1%启动。这意味着,即使会话在理论上已经超时(会话数据的更改时间超过session.gc_maxlife秒),会话数据的使用时间也可以更长


因此,我建议您实现自己的会话超时机制。有关更多详细信息,请参阅。

谢谢,当我关闭浏览器并再次打开页面时,仍会看到相同的会话ID?如果您的浏览器仍在运行,则是。会话cookie只有在浏览器应用程序退出时才会过期。cookie是的,但会话本身将在24分钟后过期,即使您保持浏览器打开,也不会有任何活动。这是正确的(我忘了提到这一点)。我编辑了我的答案,并解释了这些设置。这不是访问时间,而是修改时间。session.cache\u expire如何与此交互?
session.cache\u expire
只影响服务器响应的HTTP缓存,但对会话过期没有任何影响。哦,我明白了,cache_expire与cache_限制器一起工作。PHP的文档对此非常不清楚。在我读到这篇文章之前,我一个字也说不清这里记录的是什么:谢谢@Gumbo@matteo不幸的是,在很多情况下,该手册并不清楚。值得一提的是,在Debian/Ubuntu发行版中,默认情况下PHP会禁用其会话垃圾收集机制。相反,它每半小时运行一次cron作业(请参阅脚本/etc/cron.d/php5),以清除/var/lib/php5/目录中的会话文件。(来源:)
session.gc_maxlifetime  1440    1440