正确安装codeigniter 4必须使用composer create-project codeigniter4/appstarter myproject,手动解压zip或复制vendor会导致autoload失败、spark不可用、环境配置缺失;安装后须修改.env并重启php spark serve,且spark命令必须在项目根目录下执行,php cli版本不得低于7.4。

直接用 composer create-project 就行,别手动下载 ZIP
CodeIgniter 4 官方只支持 Composer 安装,手动解压 ZIP 或复制 vendor 会导致 autoload 失败、spark 命令不可用、环境配置缺失。核心原因是 CI4 的类自动加载、服务提供者注册、CLI 工具都深度绑定 Composer 的 autoload 和 bin 机制。
正确做法是终端里执行:
composer create-project codeigniter4/appstarter myproject
其中 myproject 是你想要的项目目录名;appstarter 是官方推荐的基础模板(含基础路由、视图、.env 支持)。
-
codeigniter4/framework是纯框架包,没带 public 入口和基础配置,新手别碰 - 如果国内慢,先配镜像:
composer config -g repo.packagist composer https://packagist.phpcomposer.com(注意:该镜像已停用,推荐改用阿里云:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/) - 执行完立刻进目录跑
php spark serve,能打开http://localhost:8080才算成功——别只看“安装完成”就以为好了
安装后必须改 .env,否则数据库连不上、日志写失败
CI4 默认把 .env 设为开发模式,但所有敏感配置(数据库地址、密钥、时区)都留空或占位。不改它,$db = \Config\Database::connect() 会静默失败,log_message() 写不到文件,甚至 CSRF 验证直接报错。
把 env 文件重命名为 .env(去掉前面的点可能被隐藏),然后编辑:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
# 把这行取消注释并改值 CI_ENVIRONMENT = development <h1>数据库段落填真实参数</h1><p>database.default.hostname = localhost database.default.username = root database.default.password = database.default.database = myapp_db</p>
- 改完保存后,务必重启
php spark serve,因为 .env 在启动时只读一次 -
CI_ENVIRONMENT必须设成development、testing或production,设成其他值(比如空或 misspelled)会导致 Config 类加载失败 - 生产环境记得关掉
display_errors并设CI_ENVIRONMENT = production,否则错误堆栈会暴露路径
spark 命令不识别?多半是没进对目录或 PHP 版本不对
运行 php spark 报 Could not open input file: spark 或 Class 'CodeIgniter\CLI\Commands' not found,基本就两个原因:当前目录不是项目根(即含 spark 文件和 vendor/ 的那层),或者 PHP CLI 版本低于 7.4(CI4 最低要求)。
- 确认你在
myproject/目录下,不是myproject/app/或myproject/public/ - 运行
php -v看 CLI 版本;macOS 用户常遇到系统自带 PHP(如 8.1)和 Homebrew PHP(如 8.3)混用,用which php检查实际调用的是哪个 -
spark是个纯 PHP 脚本,没有扩展依赖,不需要额外安装——只要 Composer 装好了、目录对了、PHP 版本够,它就一定可用
升级 CI4 版本不能靠 composer update 全局更新
CI4 的版本升级涉及框架、核心服务、CLI 工具三者协同,composer update codeigniter4/framework 单独升框架会破坏 spark 命令兼容性,导致 php spark migrate 报错或路由不生效。
官方推荐方式是升级整个 appstarter 模板:
composer update codeigniter4/appstarter
再手动比对 CHANGELOG.md,补上 app/Config/ 下配置项变更(比如 4.4 新增了 Security 类的 csrfRedirect 配置)。
- 别用
composer update不加参数——它会升级所有包,包括可能和 CI4 冲突的第三方库(如 monolog 3.x 与 CI4.3 不兼容) - 升级前先
git status确保没改过vendor/或spark文件;这些是生成的,手改会被覆盖 - 升级后务必跑一遍
php spark test(如果有测试)或至少访问首页 + 一个带数据库查询的页面,验证基础链路
事情说清了就结束。最常卡住的地方其实是:装完没改 .env、spark 命令在错目录下执行、升级时乱 update。这几个点盯住了,CI4 的 Composer 流程就稳了。










