如何在 php 中的网站上闲置 5 分钟后自动销毁 Session [重复]
Posted
技术标签:
【中文标题】如何在 php 中的网站上闲置 5 分钟后自动销毁 Session [重复]【英文标题】:How to destroy Session automatically after 5 minutes of inactivity on website in php [duplicate] 【发布时间】:2014-03-15 10:43:55 【问题描述】:我正在使用此代码块进行手动注销,但我希望在网站不活动 5 分钟后自动注销。怎么做? 谢谢
<?php
session_start();
error_reporting(E_ALL);
ini_set('display_errors', '1');
session_destroy();
if(!session_is_registered('username'))
header("location: logout_msg.html");
else
print "<h2>Could not log you out, sorry the system encountered an error.</h2>";
exit();
?>
【问题讨论】:
***.com/questions/572938/… 【参考方案1】:您可以尝试使用$_SESSION['CREATED']
之类的方法来存储时间戳,然后检查您的值是否是在$_SESSION['CREATED'] + 300
之前创建的。
【讨论】:
【参考方案2】:在每次网页浏览时保存会话中的当前时间戳。如果当前时间戳与会话值的差异超过五分钟,请检查该值并使他们的会话无效。
【讨论】:
【参考方案3】:这完全取决于您如何定义不活动。我做这样的事情
if ($_SESSION['LAST_ACTIVITY'] < time() - (60 * 5))
// logout
$_SESSION['LAST_ACTIVITY'] = time();
【讨论】:
$_SESSION['LAST_ACTIVITY']
会做什么?
在检查最后一次页面加载是否在 5 分钟前之后,设置每次页面加载的当前时间戳。以上是关于如何在 php 中的网站上闲置 5 分钟后自动销毁 Session [重复]的主要内容,如果未能解决你的问题,请参考以下文章
mysql闲置8小时后,自动关闭连接,再对数据库进行操作就会出问题,如何解决