页面刷新后,CodeIgniter 3会话销毁

时间:2017-06-17 07:34:20

标签: php codeigniter session xampp

尽管这里有无数类似的问题,但在我的案例中并没有这些问题。所以,我决定在这里发布。

问题是页面刷新/重定向后会话正在被破坏。

我在Windows 10上使用XAMPP服务器(PHP 7.x的最新版本),我认为,它是codeigniter设置的问题,但是,我只是测试传统的会话代码(没有Codeigniter)并且有效细

传统PHP代码(工作正常)

session_start();
if(!isset($_SESSION['admin'])) {
    $_SESSION['admin']='test';
    die('session not set, set it now');
}
else {
    echo $_SESSION['admin'];
}

Codeigniter代码(这是问题)

if($this->session->userdata('admin')) {
    echo $this->session->userdata('admin');
}
else {
    $this->session->set_userdata('admin', 'test');
    echo 'session not set, set it now';
}

Codeigniter会话配置

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'C:\\xampp\\htdocs\\application\\cache\\session\\';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;

注意相同的Codeigniter代码在WAMP服务器上正常运行 - Windows 10

2 个答案:

答案 0 :(得分:0)

您的代码看起来是正确的。我认为您可以查看Native-session。这可以解决您的问题。

并同时检查config.php cookie_domain。这不应为空。

答案 1 :(得分:0)

会话设置似乎正确,我建议你,请检查Application / Config / autoload.php中的会话库

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

希望这样能帮到你