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

CodeIgniter点击登录后提示无法找到Session.php类问题求助

问题排查方案

1 修复构造函数大小写错误

PHP 魔术方法__construct()要求全小写命名,你当前所有控制器中写的__Construct()首字母大写,在 Linux 等大小写敏感的操作系统环境下,会导致父类CI_Controller的构造方法未被正确执行,自动加载的 Session 库初始化失败,最终抛出找不到类的错误。
需将所有控制器的构造方法名统一改为小写:

public function __construct() 
{
    parent::__construct();
    // 其余逻辑保持不变
}

2 移除冗余的文件引入代码

修改后的Controller_B中include(APPPATH.'controllers/Home.php');属于无效冗余代码,控制器继承逻辑不需要手动引入文件,该代码会导致类重复加载、路径解析混乱,直接删除该行即可。

3 校验config.php核心配置

打开application/config/config.php确认以下配置项:

  • $config['encryption_key']必须设置非空的加密字符串,CI3 的 Session 库强依赖加密密钥,未设置会直接导致 Session 初始化失败
  • 若使用files类型的 Session 驱动,需确认$config['sess_save_path']对应的目录存在且具备读写权限,目录不可写也会触发Session加载异常

4 排查 Session 加载拼写问题

确认你没有在任意控制器中手动编写$this->load->library('Session')(首字母大写S)的代码,大小写不匹配会导致CI到错误路径查找类文件,你已经配置了自动加载,无需重复加载Session库。

5 补全代码闭合

你贴出的Controller_A的login方法缺少收尾的闭合大括号},如果实际运行代码也存在该问题,会触发语法错误连带类加载异常,请补充对应闭合符号。

6 清理运行缓存

所有修改完成后,删除application/cache目录下的所有缓存文件,避免旧的类加载缓存持续触发错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:45:03