我有一个处理大量数据的PHP / MySQL应用程序。当我使用会话再生时,我的应用程序会在几秒钟内一次又一次地注销用户。
要解决此问题,我禁用了会话重新生成。我设置了gc maxlifetime = 86400
。
这个问题的根源可能是内存泄漏或某些重度PHP脚本/循环的执行时间过长(未正确编码)吗?
function checklogin()
{
if ( isset($_SESSION['LAST_ACTIVITY']) && ( time() - $_SESSION['LAST_ACTIVITY'] > 86400 ) )
{
session_unset(); // unset $_SESSION variable for the run-time
session_destroy(); // destroy session data in storage
}
}
function login()
{
session_start();
// session_regenerate_id(); //ON USING IT LOGSOUT, SO I STOPPED USING THIS
$_SESSION['LAST_ACTIVITY'] = time(); // update last activity time stamp
}
我需要使用会话重新生成,但是它不应该注销。
答案 0 :(得分:0)
session_start()必须是执行的第一条指令。