问题很简单。如果我使用
$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()时,我没有收到错误,但会话数据没有被破坏,我无法将用户注销。
答案 0 :(得分:3)
在会话库之前使用ob_start()
。在会话销毁代码之前添加ob_flush()
并在该行设置ob_clean()
并将此$this->session->sess_regenerate(true);
设置为FALSE
。 ob_flush
和ob_clean
将完美地做到这一点。