zoukankan      html  css  js  c++  java
  • php7.3升级后CI框架session失效session不能读取的问题

    php7.3升级后CI框架session失效session不能读取的问题

    框架ci3.0.2,php服务器从5升级到7.x后发现session失效了
    ci无法设置session的问题
    根本原因在,libraries/Session/Session.php 中 133行:

    // Sanitize the cookie, because apparently PHP doesn't do that for userspace handlers
            if (isset($_COOKIE[$this->_config['cookie_name']])
                && (
                    ! is_string($_COOKIE[$this->_config['cookie_name']])
                    OR ! preg_match('/^[0-9a-z]{10,40}$/', $_COOKIE[$this->_config['cookie_name']])
                )
            )
            {
                unset($_COOKIE[$this->_config['cookie_name']]);
            }
    
            session_start();


    如果sessionid的长度不是40的话,每次执行都会 unset($_COOKIE[ci_session])。而session_id取值范围和长度在php7中变了(默认是26)

    解决办法:
    将上面的/^[0-9a-f]{40}$/, 改成 /^[0-9a-z]{10,40}$/

  • 相关阅读:
    CPP STL学习笔记
    CPP 设计模式学习
    blackarch 安装指南
    通过 Http 请求获取 GitHub 文件内容
    实践
    升级
    部署-MySql 之Linux篇
    数据库
    RxJs
    Vue
  • 原文地址:https://www.cnblogs.com/zdz8207/p/php-ci-7-session.html
Copyright © 2011-2022 走看看