如何在 10 分钟不活动后使 PHP 会话过期? [复制]
Posted
技术标签:
【中文标题】如何在 10 分钟不活动后使 PHP 会话过期? [复制]【英文标题】:How to expire PHP session after 10 minutes of inactivity? [duplicate] 【发布时间】:2018-06-20 13:13:37 【问题描述】:我是 php 新手,我正在开发一个 Web 应用程序,其中要求如果 10 分钟内没有用户活动,用户应该自动注销并返回到登录屏幕。如何使用 php 或 javascript 实现此目的?
我目前只是在标题页中使用 session_start()。
【问题讨论】:
【参考方案1】:试试
ini_set('session.gc_maxlifetime',54000);
ini_set('session.gc_probability',1);
ini_set('session.gc_divisor',1);
在调用session_start()
之前使用它
或者也试试这个
将 time() 存储在 $time 变量中。 之后检查条件,如果 $_SESSION['setTime'] 为空或未设置,则将超时值存储到会话中,否则当页面刷新时,新值将分配给 $_SESSION['setTime']。
$time = time ();
$setTime = time () + 60;
if (empty ( $_SESSION ['setTime'] ) || !isset ( $_SESSION ['setTime'] ))
$_SESSION ['setTime'] = $setTime;
然后检查当前时间是否大于存储时间。如果它未设置会话。也销毁会话。
if (time () >= ( int ) $_SESSION ['setTime'])
session_unset ();
session_destroy ();
按照how to expire php session if user is inactive for 15 mins
【讨论】:
在每个请求上运行 GC 并不是一个好主意,这很容易影响性能。 这也可以在php.ini
全局更改以上是关于如何在 10 分钟不活动后使 PHP 会话过期? [复制]的主要内容,如果未能解决你的问题,请参考以下文章