我有一个 PHP 应用程序,无论服务器设置如何,我都想让会话保持活动状态。我按如下方式进行了 ajax 调用,以便在间隔内通过 ajax 调用服务器...
<script type="text/javascript">
jQuery(document).ready(function(){
var refresh_session = function(){
var refresh_interval = 180000;
setTimeout(function(){
jQuery.ajax({
url: 'refresh-session.php',
cache: false,
success: function(){
refresh_session();
}
});
}, refresh_interval);
}
refresh_session();
});
</script>
在服务器中我有这个代码......
<?php
@session_start();
$_SESSION['last_refreshed_time'] = time();
echo date('Y-m-d H:i a', $_SESSION['last_refreshed_time']).' - '.session_id();
?>
我看到 ajax 调用是在指定的时间间隔内进行的,并且我可以在每个 ajax 输出上看到相同的会话 ID。但是,如果我在 30 分钟后刷新,页面仍然会被注销......有人可以告诉我为什么在这种情况下会话没有激活,即使我在几分钟内调用了服务器?