gpt4 book ai didi

php - session.gc_maxlifetime 什么时候开始计数

转载 作者:可可西里 更新时间:2023-11-01 12:38:52 29 4
gpt4 key购买 nike

每次加载页面时,我都会运行 session_start() 以恢复当前 session 。 session.gc_maxlifetime 从什么时候开始计数?第一次调用 session_start() 并设置该 session 的 cookie?还是定时器会在每次 session_start() 时重新启动?

session.gc_maxlifetime 设置为大约 24 分钟,此时 session 数据应该被垃圾收集

 1. 12:00:00 First page load, session_start(), session cookie created
2. 12:10:00 page load, session_start()
3. 12:26:00 page load, session_start()
4. 12:55:00 page load, session_start()

如果计时器在第一个页面加载 session_start() 时启动,那么我希望它会在加载 3 时进行垃圾收集。但是如果它重置每个 session_start(),那么它直到加载 4 时才会收集。

我希望是后者,因为这样我就可以每隔几分钟做一次 javascript 心跳来调用运行 session_start() 的页面。

如果是前者,session.gc_maxlifetime 从创建 session cookie 开始计数 我需要销毁/重新创建或重新生成_id 来重置计数吗?

最佳答案

它来自最后一次 session_start() 调用或/和最后一次写入。我的猜测是后者,因为这会改变 PHP 垃圾收集器用来确定是否需要删除它的“最后修改”时间戳。在这种情况下,它从最后一个使用 session_start() 或通过调用 session_write_close() 在脚本中明确结束的脚本开始计数。

附言这将使“心跳”变得漂亮和简单(在一行中):http://prototypejs.org/api/ajax/periodicalUpdater

关于php - session.gc_maxlifetime 什么时候开始计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13146198/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com