Php 区段代码点火器会话过期

Php 区段代码点火器会话过期,php,javascript,codeigniter,jquery,session,Php,Javascript,Codeigniter,Jquery,Session,我有$config['sess\u expiration']=7200在我的config.php文件中,这意味着该会话将持续2小时 默认情况下,会话是在用户登录时创建的。现在,我想根据用户空闲状态进行最后一次会话 所以,当用户在页面上处于活动状态时,我需要续订会话 前 每2分钟通过ajax对服务器进行一次轮询,当前用户状态为,IDLE或ACTIVE 如果状态为ACTIVE,则我希望从ajax调用开始,再延长/更新会话超时2小时 事实上,如果状态为空闲,我将在网页上运行计时器,在它达到超时(2小时

我有
$config['sess\u expiration']=7200在我的config.php文件中,这意味着该会话将持续2小时

默认情况下,会话是在用户登录时创建的。现在,我想根据用户空闲状态进行最后一次会话

所以,当用户在页面上处于活动状态时,我需要续订会话

每2分钟通过ajax对服务器进行一次轮询,当前用户状态为,
IDLE
ACTIVE

如果状态为
ACTIVE
,则我希望从ajax调用开始,再延长/更新会话超时2小时

事实上,如果状态为空闲,我将在网页上运行计时器,在它达到超时(2小时)之前,我需要向用户显示警告==>

“您当前的会话即将过期。是否要续订会话?”

如果用户单击
YES
,则我希望将会话延长2小时,否则我将发送一个注销命令

所以问题是:我如何以编程方式续订/更新/延长会话超时

还有其他更好的解决方案吗

我使用的是PHP5、CodeIgniter2.x、Bitauth(用户身份验证)


谢谢

只需使用
$config['sess\u time\u to\u update']=30//秒
,如果用户空闲且会话过期
时间已过,则将更新会话超时,即
$config['sess_expiration']=7200
然后用户点击它将自动注销的任何链接,因为CI会在每次请求时检查会话,无论
会话过期
时间是否超过过期时间,您的会话都会被销毁。如果用户在一小时后点击任何请求,则您的
sess\u时间\u to\u更新
会将
sess\u到期时间
更新为两小时。 默认情况下,CI在定义的时间间隔
$config['sess\u time\u to\u update']=30内创建新会话id即每30秒将创建一个新会话id

要深入了解,您可以看到
会话。库
sess_update()
中的php
是更新会话的函数,因此您可以很好地了解CI在不使用
数据库
会话时会做些什么,然后CI将信息存储在cookie中,否则它将数据存储在
CI_会话
表中