会话过期,而不是删除过期的PHP

时间:2018-09-11 21:23:20

标签: php session

每次php会话过期都会被删除。问题是我昨天登录了PHP系统,然后将计算机留在了那里。 12小时后,我回到计算机,发现会话仍处于活动状态,因此我刷新页面,看起来会话已过期,但其内容已清除而不是被删除。我在代码中放置了一些echo session_id(),以检查会话是否处于活动状态,看起来是否处于活动状态,但是该会话的内容为空。

如果您已登录,我将检查所有私人页面,如果未登录,则会显示错误。我检查的方式是:

<?php
if(!isset($_SESSION['user_data'])){
    //error and die
}else{
    //This was to check the session
    echo '<h1>';
    print_r($_SESSION);
    echo '</h1>';
    echo session_id(); 
    echo '<br />';
    echo ini_get('session.gc_maxlifetime');
}
?>

此抛出此:

Array ( [user_data] => [APP_SEC] => defined )
m3pmb9eba9tnojvafqi6u2kv45
1440

该会话怎么可能过期但被清除而不是被删除?我知道我可以通过其他方式检查该会话是否仍然处于活动状态,或者不是null还是空,但是我想知道为什么会发生这种情况。

文件托管在具有Ubuntu 16的Linux VPS中。

谢谢。

0 个答案:

没有答案