其中我们将为我们提供有关如何使 PHP 会话过期的分步教程。
假设我们打算在 30 分钟后使用户的会话过期。
使用 PHP 做到这一点的最佳方法是手动操作。
因此,让我们尝试手动使 PHP 会话过期。
这是你应该做的:
<?php //开始会话 session_start(); //如果用户处于非活动状态 30 分钟或者更长时间,则使会话过期。 // $expireAfter = ; //测试以确保我们的“最后操作”会话变量是否已设置。 // if(isset($_SESSION['last_action'])){ //找出自用户上次处于活动状态以来已经过去了多少秒。 // $secondsInactive = time() - $_SESSION['last_action']; //将分钟转换为秒。 $expireAfterSeconds = $expireAfter * ; //测试以确保它们没有活动太长时间。 if($secondsInactive >= $expireAfterSeconds){ //用户已经很长时间没有活动了 //杀掉会话 session_unset(); session_destroy(); } } //将当前时间戳设置为用户的最新操作时间 // $_SESSION['last_action'] = time();
下面,我们可以找到上面代码的解释。
每个会话都应该以 session_start() 开始。
请注意,在会话开始之前无法访问会话变量。
在上述情况下,限制设置为 30 分钟。
但是,我们可以自由地将限制更改为 60 或者 40 分钟。
isset 函数用于检查是否存在名为“last_action”的变量。
$expireAfter 变量通过乘以 60 转换为秒。
然后,比较这两个值以检查用户是否处于不活动状态的时间过长。
如果 $secondsInactive 大于或者等于 $expireAfterSeconds,则用户处于非活动状态的时间过长。
之后,我们应该使用 session_unset 和 session_destroy 函数终止当前会话。
日期:2020-06-02 22:15:48 来源:oir作者:oir