【问题标题】:codeigniter session not working properlycodeigniter 会话无法正常工作
【发布时间】:2018-11-22 15:53:03
【问题描述】:

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

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

但它会显示类似Unable to locate the specified class: Session.php 的错误。

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

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

并尝试在我的控制器中设置flashdata。但现在它显示像Undefined property: controller::$session 这样的错误。我已经将 config.php 中的 encryption_key 和会话存储驱动程序设置为数据库。 这是我的控制器示例代码:

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');
        }

     }
}

这个问题来了,当我尝试加载模型时

【问题讨论】:

    标签: php codeigniter session


    【解决方案1】:

    如果您使用的是 HHMVC,请

    class Home extends MX_Controller {}
    

    而不是

    class Home extends CI_Controller {
    

    【讨论】:

    • 我没有使用 HMVC。这个版本是严格在 HMVC 中的吗?
    【解决方案2】:

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

    $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_save_path。给出应该解决这个错误的正确路径

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-08
      • 1970-01-01
      • 1970-01-01
      • 2015-05-10
      • 1970-01-01
      相关资源
      最近更新 更多