空白页本质是错误被静默吞掉,需检查.env中ci_environment=development是否启用、app.baseurl是否匹配访问地址、display_errors是否开启、autoload是否生效,并查看writable/logs中的日志定位具体错误。

空白页在 CodeIgniter 4 中几乎从不“真空白”——它其实是 PHP 错误被静默吞掉、或环境配置阻止了错误显示的结果。核心问题通常出在 .env 配置 或 PHP 运行时限制,而不是代码本身。
检查 .env 是否启用开发模式
CI4 默认关闭错误报告,哪怕语法错也不会输出。必须手动开启:
- 确认项目根目录下存在
.env文件(不是.env.example) - 打开
.env,确保这一行已取消注释且值为development:CI_ENVIRONMENT = development - 检查
app.baseURL是否匹配你当前访问的地址(比如用php spark serve就填http://localhost:8080;用 Apache 就填http://localhost/myapp) - 改完保存,无需重启服务器,刷新页面即可生效
直连 public/index.php 看原始报错
绕过路由和重写规则,直接触发入口文件,能暴露最底层错误:
- 浏览器访问
http://localhost/myapp/public/index.php(路径按实际调整) - 如果出现红色 PHP 错误(如 “Class not found”、“syntax error”),说明是代码或依赖问题
- 如果仍是空白,大概率是 PHP 配置禁用了错误显示,需检查
php.ini中:display_errors = On和error_reporting = E_ALL
验证 Composer 自动加载是否生效
常见于手动复制文件或 git clone 后未运行 install —— autoloader 没生成,类根本找不到:
- 进入项目根目录,执行:
composer dump-autoload - 检查
vendor/autoload.php是否真实存在且可读 - 若提示 “Class 'CodeIgniter\CodeIgniter' not found”,基本可断定是部署方式错误:CI4 不支持解压 zip 或直接拷贝源码,必须用
composer create-project codeigniter4/appstarter myapp
查看日志文件定位具体失败点
即使页面空白,CI4 仍会记录错误到日志(前提是 CI_ENVIRONMENT = development 已生效):
- 打开
writable/logs/目录,找最新日期的.log文件 - 常见线索包括:
• “Unable to locate model” → 模型命名或命名空间错误
• “Database connection failed” →.env中数据库配置为空或错误
• “Call to undefined method” → 方法名拼写错,或模型没继承CodeIgniter\Model











