php – session.gc_maxlifetime何时开始计数

前端之家收集整理的这篇文章主要介绍了php – session.gc_maxlifetime何时开始计数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在每个页面加载时,我运行session_start()以恢复当前会话. session.gc_maxlifetime何时开始计算?第一次调用session_start()并设置会话的cookie?或者计时器是否重启每个session_start()?

将session.gc_maxlifetime设置为大约24分钟,在此时间线中,会话数据应被垃圾回收

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从创建会话cookie开始计算我需要销毁/重新创建或重新生成_id以重置计数?

它是从最后一次session_start()调用OR / AND写入的最后一次.我的猜测是后者,因为这会改变PHP垃圾收集器用来确定是否需要删除的“最后修改”时间戳.在这种情况下,它从最后一个脚本开始计数,使用session_start()或通过调用session_ write_ close()在脚本中间显式完成.

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

猜你在找的PHP相关文章