Composer 安装 CodeIgniter 4 必须用 create-project 初始化项目,因 CI4 是应用骨架而非可 require 的库;直接 require framework 会因缺失 app、public、writable 等目录导致启动失败。

Composer 安装 CodeIgniter 4 不是“下载 ZIP 解压”那种流程,而是必须通过 composer create-project 初始化项目——直接 composer require codeigniter4/framework 会失败,因为 CI4 不是一个可单独 require 的库,而是一个完整应用骨架。
为什么不能用 composer require codeigniter4/framework
CI4 的设计强制要求应用结构与框架解耦:入口文件 public/index.php、配置目录 app/Config/、自动加载规则都依赖项目根目录下的固定布局。仅引入 codeigniter4/framework 包,缺少 app、public、writable 等关键目录,index.php 会报 Class 'CodeIgniter\CodeIgniter' not found 或找不到 APPPATH 常量。
-
codeigniter4/framework是纯框架内核,不带应用模板,也不含autoload.php和启动逻辑 - 官方推荐且唯一支持的初始化方式是
create-project,它会拉取codeigniter4/appstarter(含完整目录结构) - 如果你已有项目想集成 CI4,不是“引入”,而是“迁移”——需重构成 CI4 目录规范,不能硬塞进旧结构
正确安装命令与最小必要参数
运行以下命令生成可立即运行的 CI4 项目:
composer create-project codeigniter4/appstarter myproject
其中:
-
myproject是项目目录名,会自动创建并初始化 Git(如果系统有 git) - 不加版本约束时,默认拉取最新稳定版(如
v4.5.0);如需指定版本,加@v4.4.0后缀 - 若网络慢或超时,可加
--prefer-dist --no-interaction加速并跳过交互 - 国内用户建议提前配置阿里云镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
安装后必须检查的三件事
项目生成后别急着 php spark serve,先确认以下三项是否就位:
-
writable/目录权限:Web 服务器用户(如 www-data、_www)必须有读写权限,否则日志、缓存、session 全部失败 -
app/Config/App.php中的$baseURL必须设为实际访问地址(如'http://localhost:8080/'),否则 CSRF、重定向、资产链接全错 - 执行
php spark list应正常输出所有可用命令;若报Class 'CodeIgniter\CLI\Commands' not found,说明vendor/autoload.php没被正确加载,大概率是index.php路径引用出错或composer install被中断
CI4 的“安装”本质是骨架初始化,不是传统意义上的依赖引入。漏掉 writable 权限或 $baseURL 配置,哪怕代码一行没改,也会在请求阶段静默失败——这些点没有报错提示,但功能就是不工作,最容易卡住新手。










