使用PHP7在Codeigniter中的会话

时间:2016-01-07 17:11:58

标签: codeigniter session php-7

问题很简单。如果我使用

$this->session->sess_destroy();
$this->session->sess_regenerate(true);

我收到错误:

Message:  session_regenerate_id(): Cannot regenerate session id - session is not active
Filename: Session/Session.php
Line Number: 625

这只适用于PHP 7并适用于5.6。 我认为再生功能中的参数设置为在重新生成时销毁旧的会话数据。当我省略sess_destroy()时,我没有收到错误,但会话数据没有被破坏,我无法将用户注销。

1 个答案:

答案 0 :(得分:3)

在会话库之前使用ob_start()。在会话销毁代码之前添加ob_flush()并在该行设置ob_clean()

之后

并将此$this->session->sess_regenerate(true);设置为FALSEob_flushob_clean将完美地做到这一点。