每次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中。
谢谢。