因此,我目前的任务涉及一个网站,人们可以在该网站上登录并查看有关特定主题的一系列培训视频。我在 CodeIgniter 中开发了这个。唯一的麻烦是,一旦我让他们登录并创建了一个会话,该会话似乎在几分钟后神秘地消失了,并且他们神秘地弹回了登录页面(如果有人在在没有登录的情况下训练视频页面。这是我的 config.php 页面中的代码块:
$config['sess_cookie_name'] = 'cc_session';
$config['sess_expiration'] = 0;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'cc_sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 3000000;
为什么 sess_time_to_update 设置这么高?起初,我认为这是罪魁祸首,在 5 分钟后更新会话。我已将会话设置为记录到数据库,以及所有这些好东西。请向我提问,并帮助我深入了解这一点!
我应该指出,我在课程页面上有一个 iFrame,它以这种方式将“ping”发送回服务器......
<iframe id="timerAddEnd" style="display:none;" src="http://www.example.com/course/finish/<?=$course->intKey?>/ping" >
</iframe>
<script type="text/javascript">
var auto_refresh = setInterval( function ()
{
var iframe = document.getElementById('timerAddEnd');
iframe.src = iframe.src;
}, 60000);
// refresh every minute
</script>
这可能是罪魁祸首吗?我希望这将是对最初问题的快速而肮脏的解决方案。