Php CodeIgniter客户控制器类表示会话未定义

Php CodeIgniter客户控制器类表示会话未定义,php,authentication,codeigniter,Php,Authentication,Codeigniter,我正在使用CodeIgniter(v1.7.2),并创建了一个自定义控制器,该控制器包含名为MY_controller的身份验证(基于David Winter的博客文章)。当我加载任何使用这个基类的控制器时,我得到这个错误 *消息:未定义的属性:MY_控制器::$session* 请注意,我正在自动加载“会话”(以及作为库的“MY_controller”),如下所示: 这是我的控制器: class MY_Controller extends Controller { public fun

我正在使用CodeIgniter(v1.7.2),并创建了一个自定义控制器,该控制器包含名为MY_controller的身份验证(基于David Winter的博客文章)。当我加载任何使用这个基类的控制器时,我得到这个错误

*消息:未定义的属性:MY_控制器::$session*

请注意,我正在自动加载“会话”(以及作为库的“MY_controller”),如下所示:

这是我的控制器:

class MY_Controller extends Controller {
    public function __construct() {
        parent::__construct();      
        if (!$this->session->userdata('loggedin')) { <-- error is here
            header('Location: /sessions/login');
            exit();
        }
    }
}
当我在上面的错误发生位置var_dump
$this->session
时,我可以看到它是空的。甚至把
$this->load->library('session')无效。为什么装载不正确


谢谢

尝试将我的_控制器从自动加载中取出

$autoload['libraries'] = array('database', 'session');

您正在扩展codeigniter自动加载的控制器类,因为它是core的一部分

我们可以查看自动加载配置的相关部分吗?
class Welcome extends MY_Controller {

    function  __construct() {
        parent::__construct();
    }

    function index() {
        $this->load->view('header');
        $this->load->view('welcome_message');
        $this->load->view('footer');
    }
}
$autoload['libraries'] = array('database', 'session');