• 您现在位置:主页 > PHP开发 > cakephp2.x--Session获取不到
  • cakephp2.x--Session获取不到

    使用cakephp时碰到的一个Session问题,当前端频发的发送http请求时,Session竟然会丢失,导致页面要频繁的登录(这边是用Session来做的身份验证)

    1:使用场景

    每一次http请求都会进行一次身份验证,验证不通过->登录,当前端多次发送ajax请求,Session竟然有时会获取不到,刷新后又恢复正常
    

    2:在文档中发现

    当应用程序使用 SSL协议时,CakePHP 默认设置 session.cookie_secure 为 true。如 果应用程序同时使用 SSL 和非 SSL 协议,你也许会有会话丢失的问题。
    

    3:解决

    在app>Config>core.php中添加代码(不能和原有代码合并写,新增下面代码)
    Configure::write('Session', array(
    'defaults' => 'php',
    'ini' => array(
            'session.cookie_secure' => false
        )
    ));
    
    
    或者把默认的Session中 autoRegenerate注释掉
    Configure::write('Session', array(
    'defaults' => 'php',
    'timeout'=>1440,          // 过期时间 24小时
    'cookieTimeout'=>1440,    // 过期时间 24小时
    //'autoRegenerate'=>true // 重新生成会话
    ));
    
    免责声明:部分文章信息来源于网络,本网站只负责整理、排版、编辑,如权利人发现存在误传其作品情形,请及时与本站联系。