【问题标题】:Fatal error: Call to undefined method CI_Session::sess_destroy() 1.7.2致命错误:调用未定义的方法 CI_Session::sess_destroy() 1.7.2
【发布时间】:2012-09-25 09:04:36
【问题描述】:

我当前的 ci 版本是 1.7.2 但我正在使用

            $this->session->unset_userdata('uid');
            $this->session->unset_userdata('email');
            $this->session->sess_destroy();

在我的控制器中,下面显示的是我的类控制器

      function Account()
{
    parent::BEV_Controller();   
    $this->load->model('facebook_model');
    $this->load->library('session');
    $this->form_validation->set_error_delimiters('<div class="error">', '</div>');
}

【问题讨论】:

  • 但是当我从 sess_destro 中删除 sess_ 时...没有显示错误并且会话仍然处于活动状态
  • 会话应该在 autoload.php 中自动加载,而不是在每个控制器中
  • 我已经从控制器中删除了它仍然没有进展

标签: php codeigniter session


【解决方案1】:

当你也试图销毁会话时,你必须加载$this-&gt;load-&gt;library('session');

应该是这个原因,

所以自动加载会话库,比到处调用$this-&gt;load-&gt;library('session')更方便。

它在 application/config/autoload.php 中

【讨论】:

  • $autoload['libraries'] = array('database', 'session','encrypt','form_validation');我已经加载了会话库,但它不工作
  • 您是否定义了加密密钥?在 config.php 中,$config['encryption_key'] = 'job#hunt9675@wilk$5875';
  • 你弄错了独角兽……我没有定义加密密钥……我可以把它当作任何字符串或指定的字符串吗?
  • 我使用了一个 10 个字母的加密密钥……但它破坏了我的整个视野​​……所以我将它替换为之前的 null 密钥
  • 嗯,这有点奇怪,这是会话的正常工作方式。不看代码就很难找出错误。只需使用 $this->session->unset_userdata('email');看看会发生什么。您是否阅读过有关 Session 的 CI 用户指南? codeigniter.com/user_guide/libraries/sessions.html
猜你喜欢
  • 2015-01-28
  • 2015-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-03
  • 2012-01-06
  • 2014-07-20
相关资源
最近更新 更多