You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter 3 Session失效 登录后跳转回登录页问题排查

问题根因

两个同域部署的CodeIgniter 3项目使用了完全相同的Session Cookie名称ci_session,且未配置独立的Cookie作用域、独立Session存储路径,导致浏览器存储Session ID的Cookie互相覆盖,是触发该问题的核心原因。
单独访问项目2时,登录写入的Session ID会被同名下的无效Cookie覆盖,后端无法读取到有效会话数据,就会判定用户未登录重定向到登录页;先登录项目1时,浏览器会先生成有效的ci_session Cookie记录,后续登录项目2时会话写入、读取链路正常,所以不会触发重定向。

修复步骤
  • 第一步:修改两个项目的Session Cookie名称,彻底避免重名冲突
    同浏览器下同域下的同名Cookie会互相覆盖,分别给两个项目设置独立的Cookie名称即可解决核心冲突,修改application/config/config.php配置:

    // 项目1配置,设置独立标识
    $config['sess_cookie_name'] = 'ci_session_proj1';
    // 项目2配置,不要和项目1重名
    $config['sess_cookie_name'] = 'ci_session_proj2';
    
  • 第二步:补全Cookie作用域配置,限制Cookie仅在当前项目路径下生效
    在两个项目的config.php中补充Cookie路径配置,避免跨项目读取、写入Cookie:
    若两个项目访问地址分别为http://localhost/proj1、http://localhost/proj2,配置如下:

    // 项目1配置
    $config['cookie_path'] = '/proj1/';
    $config['cookie_domain'] = ''; // 本地测试留空,线上配置对应服务域名
    // 项目2配置
    $config['cookie_path'] = '/proj2/';
    $config['cookie_domain'] = '';
    

    若两个项目为同域名不同端口部署,cookie_path统一设置为'/'即可,只要保证sess_cookie_name不重名就不会出现冲突。

  • 第三步:全局自动加载Session库,避免会话读取异常
    当前代码仅在登录方法中加载Session库,其他业务页面如果未手动加载Session库,会直接出现无法读取会话数据的问题。修改application/config/autoload.php文件,将Session加入全局自动加载列表:

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

    配置完成后删除LoginController中手动加载Session库的代码$this->load->library('session');,避免重复加载触发异常。

  • 第四步:配置独立Session存储路径,确认目录权限
    不建议多个项目共用/tmp作为Session存储目录,避免不同项目的Session文件互相干扰,给每个项目创建独立的Session存储目录,分别配置到对应项目的sess_save_path参数中:

    // 项目1配置
    $config['sess_save_path'] = '/tmp/ci_proj1/';
    // 项目2配置
    $config['sess_save_path'] = '/tmp/ci_proj2/';
    

    创建目录后确认目录权限为1777,保证PHP运行进程对目录有读写权限,执行以下命令修复权限(Linux环境):

    chmod 1777 /tmp/ci_proj1 /tmp/ci_proj2
    

注意:检查配置文件名不要拼写错误,Session相关配置必须写在application/config/config.php文件中,文件名拼写错误会导致所有配置不生效。

验证流程
  1. 清除浏览器中对应站点的所有Cookie,关闭浏览器后重新打开
  2. 单独访问项目2,完成登录后依次点击各页面、按钮跳转,确认不会被强制重定向到登录页
  3. 分别打开两个标签页登录项目1、项目2,交叉切换操作,确认两个项目的登录状态都能正常保持,不会出现互相踢下线的问题。

内容的提问来源于stack exchange,提问作者dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 06:36:20