【发布时间】:2016-11-11 05:45:57
【问题描述】:
有没有办法将 php 会话变量 ($_SESSION['example') 设置为在给定时间后过期。澄清一下,我想保持用户会话的完整性,并保持所有其他变量的值,我只想设置一个会话变量在短时间内(1 分钟左右)后过期。有没有办法将变量设置为自行过期,或者当我确定时间已过期时,我是否必须跟踪时间并删除变量?我在 ubuntu 上使用 php 5 和 apache2。谢谢。
【问题讨论】:
-
不是重复的。我特别要求让会话与所有其他会话变量一起保持活动状态,同时只删除一个变量。
-
您可以使用 cookie 来实现这一点...不确定这是否是您想要的方向
-
也许考虑使用某种内存缓存(如 Redis)作为实现过期效果的手段。
-
您可以在会话中存储到期日期,如果到期日期已过,则清除变量。这里有一个代码示例:stackoverflow.com/questions/520237/…
-
其实只需要在使用的时候判断是否过期即可。因此,请保留“最后访问”时间。当它被访问时,检查
last access time。如果它太旧,请删除它。即不返回任何内容。