致命错误:调用未定义的方法 CI_Session::sess_destroy() 1.7.2

Posted

技术标签:

【中文标题】致命错误:调用未定义的方法 CI_Session::sess_destroy() 1.7.2【英文标题】:Fatal error: Call to undefined method 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 中自动加载,而不是在每个控制器中 我已经从控制器中删除了它仍然没有进展 【参考方案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

以上是关于致命错误:调用未定义的方法 CI_Session::sess_destroy() 1.7.2的主要内容,如果未能解决你的问题,请参考以下文章

致命错误:未捕获的错误:调用未定义的方法 Connection::prepare() [重复]

致命错误:调用未定义的方法 CookieComponent::del()

Woocommerce 出现致命错误:未捕获的错误:调用未定义的方法 WooCommerce::get_image_size()

Laravel 4:PHP 致命错误:调用未定义的方法 Blueprint::int()

致命错误:在 joomla 3 中调用未定义的方法 JController::getInstance()

codeigniter 致命错误:调用未定义的方法 CI_DB_odbc_driver::update()