增加PHP中的会话超时

时间:2018-01-11 07:05:54

标签: php session

我正在使用php建立一个在线测试平台。问题是测试时间超过60分钟。在我的系统中,用户登录并进行测试。通常当用户提交测试答案时,他发现他已经退出。

由于用户的空闲系统,似乎会破坏会话ID。如何参加这个问题?

我不想在这段时间之后将变量发送到垃圾箱,而是希望确保在这段时间内它们不会被发送到垃圾箱。

2 个答案:

答案 0 :(得分:2)

我猜你可以每隔几分钟向服务器发送一次ajax调用以保持连接。

这样,用户的sesseion将不会过期,直到测试答案被汇总!

function stayAlive(){
$.ajax({
   url: 'theURL',
   type: 'post',
   data: {'can also send data'},
   success: function(){ /* now you are sure the connection is there */ }
});
setTimeout(stayAlive, 60000); // make the call every minute
}

stayAlive();

答案 1 :(得分:0)

//试试这个。

ini_set('session.gc_maxlifetime', 10800);    # 3 hours
session_set_cookie_params(10800);

https://prajapatinilesh.wordpress.com/2009/01/14/manually-set-php-session-timeout-php-session/