首页空白但没报错,先确认 environment 是否为 development;ci4 默认在 production 模式下完全屏蔽 php 错误和框架异常,白屏大概率是错误被静默吞掉了。

首页空白但没报错,先确认 ENVIRONMENT 是否为 development
CI4 默认在 production 模式下完全屏蔽 PHP 错误和框架异常,白屏大概率是错误被静默吞掉了。打开项目根目录下的 index.php,找到第 56 行附近类似 define('ENVIRONMENT', 'production'); 的代码,临时改成:define('ENVIRONMENT', 'development');
再刷新页面。如果立刻出现红色错误堆栈,说明问题可定位;如果还是白屏,继续往下查。
检查 .env 文件是否生效且配置正确
CI4 启动时优先读取 .env 文件(不是 env),若该文件不存在或未正确重命名,CI_ENVIRONMENT 就不会被覆盖,仍走 index.php 中的默认值。
操作清单:
• 确认项目根目录(与 public/ 同级)存在名为 .env 的文件(注意开头的点)
• 打开 .env,取消注释并修改:CI_ENVIRONMENT = development
• 不要留空 app.baseURL,它影响资源加载,例如:app.baseURL = "http://localhost/your-project/public/"(路径必须精确到 public/ 目录)
白屏伴随 500 错误?重点看 PHP 版本和语法兼容性
CI4 要求 PHP ≥ 8.0,而很多本地环境(如旧版 XAMPP)默认带的是 PHP 7.x。访问首页直接 500 或空白,且日志里有 Parse error: syntax error, unexpected token,基本就是这个原因。
验证方式:
• 在浏览器访问 http://localhost/your-project/public/info.php(新建一个仅含 <?php phpinfo(); ?> 的文件)
• 查看 “PHP Version” 行,确认 ≥ 8.0
• 若版本过低,升级 PHP 或换用支持 PHP 8+ 的环境(如 Laragon、最新版 XAMPP)
欢迎页能显示但控制器 404?说明路由根本没跑起来
欢迎页是 public/index.php 直接输出的静态内容,不经过路由系统。能看欢迎页只代表 PHP 和 Web 服务通了,不代表 MVC 已就位。
快速验证控制器是否可用:
• 在 app/Controllers/ 下新建 Hello.php,内容为:
<?php <br>namespace App\Controllers;<br>use CodeIgniter\Controller;<br><br>class Hello extends Controller<br>{<br> public function index()<br> {<br> return 'OK from controller';<br> }<br>}
• 编辑
app/Config/Routes.php,添加:$routes->get('/hello', 'Hello::index');• 访问
http://localhost/hello(确保已配置重写)若返回
OK from controller,说明路由、自动加载、控制器实例化全部正常;否则问题出在 .htaccess、baseURL 或 Apache AllowOverride 设置上。
白屏最常卡在环境配置和 PHP 版本两个地方,尤其容易忽略 .env 文件名里的点,以及 app.baseURL 必须指向 public/ 这一硬性要求。











