浏览器关闭时Codeigniter会话销毁不起作用

时间:2014-11-17 03:51:47

标签: php session codeigniter-2

我正在使用Codeigniter 2.2.0,尝试设置会话以便在浏览器关闭时销毁会话。在我的application/config/config.php中,我设置了

 $config['sess_use_database']   = TRUE;
 $config['sess_expire_on_close']    = TRUE;

但它不起作用。存储在数据库中的会话不会被破坏。我试着这样做:

$this->session->set_userdata(array('user'=>'user1','login'=>TRUE));

并且会话使用serialize user_data存储在数据库中。然后我关闭浏览器,再次打开浏览器,并运行上面相同的代码。因为第一个会话没有从表中删除,所以现在我在会话表中获得了2条记录,其中user_data列中的值相同,但session_id值不同。我想要的只是必须销毁第一个会话并从数据库中删除。

如何解决此问题?有什么建议吗?

1 个答案:

答案 0 :(得分:0)

为什么不尝试ajax请求到期会话:

var sessionExpire = function(e){
        //here ajax request to expire session
  };
window.unload = sessionExpire;