codeigniter会话停止工作

时间:2018-01-16 14:04:25

标签: php codeigniter session cookies

我有一个使用codeigniter 3.0的旧网站,它工作正常2年,直至今天

我无法登录,所以我做了一些调查,发现会话没有用...基本上每次重定向后都会变为null

所以我写了一些代码来了解最新情况

 class Test extends CI_Controller {

    function a(){

        $this->session->set_userdata(array('test'=>123 ));
        echo 'stored@';

            $md_id =  $this->session->userdata();  
            var_dump($md_id);



    }

    function b(){
            $md_id =  $this->session->userdata();  
            var_dump($md_id);

    }

这是/ a

的结果
stored@array(2) { ["__ci_last_regenerate"]=> int(1516110913) ["test"]=> int(123) } 

和/ b

的结果
array(1) { ["__ci_last_regenerate"]=> int(1516110943) } 

这是我的配置

$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'rozsess';
$config['sess_expiration'] = 0;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 86400;
$config['sess_regenerate_destroy'] = FALSE;

$config['cookie_prefix']    = '';
$config['cookie_domain']    = '';
$config['cookie_path']      = '/';
$config['cookie_secure']    = FALSE;
$config['cookie_httponly']  = FALSE;

我在我的数据库中看到了会话在那里,但当我查看我的cookie时,test会话的哈希码并不只有重新生成会话的哈希码

我试图在配置中设置域名并使用exp结果播放

我不知道发生了什么似乎CI一直在删除我的旧cookie或任何人都知道发生了什么?

-------------------------更新--------------------- ---------------

所以我已经清空了我的会话表并试图登录...所以它登录并自动注销并重定向到登录页面......那就是3请求

1 - 已登录 2 - 重定向到仪表板(这里它被注销) 3 - 重定向到登录页面

这是我的数据库显示的内容

enter image description here

你可以看到第一行中有md_id,第一行有会话数据......但是之后还有另外两行

我的cookie管理器指向最后一行哈希码

enter image description here

基本上问题是CI为每个请求重新生成一个cookie!这就是为什么它无法找到我的会话....它会删除我的会话cookie并在下一个请求中将其替换为另一个...并且如果我刷新任何页面10次我在db中获得10行< / p>

0 个答案:

没有答案