Composer 安装 CI4 唯一推荐方式是 create-project 初始化完整项目,自动处理依赖、生成目录与配置;需重命名 .env 并设 CI_ENVIRONMENT = development,Web 根目录必须为 public/,所有操作通过 spark 命令执行。

Composer 安装 CodeIgniter 4(CI4)不是“下载 zip 解压”那种方式,而是通过 create-project 命令初始化一个完整可运行的项目结构——直接执行就能跑,不需要手动复制文件或改入口。
用 composer create-project 初始化 CI4 项目
这是官方唯一推荐的安装方式,能自动处理依赖、生成 app/ 目录、设置写入权限和环境配置。别用 composer require codeigniter4/framework 单独引入,那只是装个库,不是项目。
- 确保已安装 PHP ≥ 7.4(建议 8.1+)、Composer ≥ 2.0、并启用
mbstring和curl扩展 - 在终端中执行:
composer create-project codeigniter4/appstarter myproject(myproject是你的项目目录名) - 命令会自动:下载框架核心、安装
codeigniter4/framework和开发依赖(如mikey179/vfsstream)、生成.env、重命名writable/和public/index.php的环境适配逻辑 - 完成后进入目录:
cd myproject,然后运行php spark serve启动内置服务器(默认http://localhost:8080)
.env 文件必须重命名并配置数据库与调试模式
CI4 默认把 .env 设为示例文件(.env.example),不手动激活它,框架就始终走生产模式、禁用错误报告、不加载自定义配置。
- 先复制:
cp .env.example .env - 编辑
.env,取消注释并修改:app.baseURL = 'http://localhost:8080'(本地开发时必须设对,否则静态资源 404) - 开启调试:
CI_ENVIRONMENT = development(否则log_message()不输出、异常被静默捕获) - 如果连数据库,还要填
database.default.hostname等字段;但注意:CI4 不再从app/Config/Database.php读配置,只认.env
部署到 Apache/Nginx 必须把 public/ 设为 Web 根目录
CI4 是严格遵循 PSR-4 和“前端控制器”模式的框架,所有请求必须经由 public/index.php 入口。把整个项目根目录直接扔进 /var/www/html 会导致路由失效、writable/ 暴露、安全风险。
- Apache:把虚拟主机的
DocumentRoot指向/path/to/myproject/public,并确保启用mod_rewrite(.htaccess在public/下已预置) - Nginx:在 server 块中设置
root /path/to/myproject/public;,并添加 CI4 推荐的 location 块(转发非静态资源请求到index.php) - 切勿把
writable/或app/放在 Web 可访问路径下——它们必须在public/外层,且 Web 服务器用户(如 www-data)要有写权限
spark 命令行工具是 CI4 的核心运维入口
CI4 不提供 php artisan 那类封装 CLI,所有脚手架、缓存清理、密钥生成都靠 spark。它不是全局命令,必须在项目根目录下运行。
- 生成新控制器:
php spark make:controller Home(自动创建app/Controllers/Home.php并注册路由) - 清空所有缓存:
php spark cache:clear(包括视图、配置、路由等,比删writable/cache/更可靠) - 生成加密密钥:
php spark generate:key(必须执行,否则session和encryption服务报错) - 查看可用命令:
php spark list;带帮助:php spark help make:model
CI4 的“安装”本质是项目初始化 + 环境激活 + Web 服务配置三步闭环,漏掉任何一环(比如忘了重命名 .env 或没把 public/ 当根目录)都会导致白屏或 404,而且错误提示极其隐蔽——它不会告诉你“你没开调试”,只会返回空响应。










