Php codeigniter会话工作不正常

Php codeigniter会话工作不正常,php,codeigniter,session,Php,Codeigniter,Session,我的codeigniter会话有一些问题。我正在使用CodeIgniter-3.1.8。我将会话加载到autoload.php中的config中 $autoload['libraries'] = array('database', 'session'); 但是它显示了一个错误,比如无法定位指定的类:Session.php 然后我将它从autoload.php中删除并加载到控制器中 public function __construct() { parent::__construct()

我的codeigniter会话有一些问题。我正在使用CodeIgniter-3.1.8。我将会话加载到autoload.php中的config中

$autoload['libraries'] = array('database', 'session');
但是它显示了一个错误,比如
无法定位指定的类:Session.php

然后我将它从autoload.php中删除并加载到控制器中

public function __construct() {
    parent::__construct();
    $this->load->library('session');
}
并尝试在我的控制器中设置
flashdata
。但现在它显示错误,如
未定义属性:controller::$session
。我已经将config.php中的加密密钥和会话存储驱动程序设置为数据库。 以下是我的控制器示例代码:

class Home extends CI_Controller {
    public function __construct() {
        parent::__construct();
        $this->load->library('session');
    }

    public function register() {
        $data = $this->input->post();
        $result = false;     //$this->Home_model->register($data);
        if($result){
            $this->session->set_flashdata('success', 'Registration successful');
            $this->session->set_flashdata('form', 'login');
        }
        else {
            $this->session->set_flashdata('failure', 'An error occured, please try again');
            $this->session->set_flashdata('form', 'register');
        }

     }
}

当我尝试加载模型时,如果您使用的是HHMVC,则会出现此问题

class Home extends MX_Controller {}
而不是

class Home extends CI_Controller {

需要在配置文件中进行一些更改

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = sys_get_temp_dir();
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
CI迁移后可能会面临此问题。 确保模型名称声明正确,如

class Name extends CI_Model { }
在CI 3中,第一个字母必须是大写字母。以相同的名称保存文件


另一个原因是sess\u save\u路径。给出正确的路径以解决此错误

我没有使用HMVC。这个版本严格在HMVC中吗?