0

我是 Codeigniter 的新用户。我用 Codeigniter 的会话系统开发了一个网站:用户可以创建一个帐户或在“访问者”会话中自由导航。在测试服务器上一切正常。当我将站点放在生产服务器上时,我无法再使用以下代码删除会话:

public function logout(){
     $this->session->unset_userdata('logged_in');
     $this->session->sess_destroy();
     redirect('lobby','refresh');
}

服务器与测试版本不在同一个域、机器或 php 版本上,我无法访问它,因为客户端不允许我,所以我无法真正调试它或重现问题。

该网站的其余部分工作正常。

我做了一整天的研究,但我找不到这个特定问题的答案。

4

1 回答 1

0

sess_destroy()将 cookie 的过期时间更改为负时间,因此在下次刷新时消失。
尝试重新加载页面,您会看到它消失了。

另外,您的配置文件中有什么?

像这样设置它:

$config['sess_cookie_name']     = 'ci_session';
$config['sess_expiration']      = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie']  = FALSE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']      = 'ci_sessions';
$config['sess_match_ip']        = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;
于 2013-06-14T13:17:50.303 回答