我正在尝试将php会话设置为在没有浏览器活动的情况下过期。 我试过阅读论坛,这里有stackoverflow而不能。 如果我们有浏览器活动,会话仍然有效。
答案 0 :(得分:1)
您需要手动处理。大致沿着这些方向的东西:
if(!$_SESSION['started']) {
// This is a new session, let's keep track of when it was started
$_SESSION['started'] = time();
} else if (time() - $_SESSION['started'] > $maxlifetime) {
// We've hit our max lifetime, session should be destroyed
session_destroy();
}
请注意,用户在下一次页面加载之前不会意识到他们的会话已过期。如果您希望立即(或接近它)通知他们即使他们只是坐在页面上,那么您将需要使用某种ajax轮询来检查会话。
答案 1 :(得分:0)
您可以使用cron作业使非活动会话失效,或尝试以下操作: 1.将时间戳存储在会话变量中。 2.检查/更新页面加载时的变量。 3.如果时间戳太旧,请强制退出 网站/应用