最稳方式是用 Composer 安装:执行 composer create-project codeigniter4/appstarter myproject,进目录运行 php spark serve;确保 .env 正确重命名与权限,Apache 需启用 mod_rewrite 并配置 AllowOverride All,命令须在项目根目录执行。

直接用 Composer 安装最稳,别碰手动解压老方法
CodeIgniter 4 必须用 composer create-project 装,官方早不维护手动下载 ZIP + 配置 .env 的方式了。手动放文件到 webroot 下,index.php 会报 Class 'CodeIgniter\CodeIgniter' not found——因为自动加载全靠 Composer 的 vendor/autoload.php,缺它直接挂。
- 运行
composer create-project codeigniter4/appstarter myproject(推荐用appstarter,不是framework) - 装完立刻进目录跑
php spark serve,看到 Welcome 页面才算通 - 别改
public/index.php去“适配”旧服务器——PHP 版本低于 7.4 就别硬上 CI4,降级到 CI3 是唯一选择
环境变量 .env 文件必须重命名且权限设对
安装后根目录下有 .env.example,但 CI4 启动时只认 .env。名字错、权限错、内容空都会导致数据库连不上或调试关不掉。
- 先复制:
cp .env.example .env - 确认
.env文件能被 PHP 读取(Apache/Nginx 运行用户要有读权限,常见坑是上传后属主变成root) - 关键项必须改:
CI_ENVIRONMENT = development(上线前切production),database.default.hostname和database.default.password别留空 - 如果用 SQLite,路径写绝对路径,比如
database.default.database = /var/www/myproject/writable/database.db,相对路径容易找不到
Apache 下 URL 重写失败?重点查 .htaccess 和 AllowOverride
访问 /news/view/1 报 404,但 index.php/news/view/1 能通——说明重写没生效,不是路由写错了。
- 确保
public/.htaccess文件存在且没被删(某些 FTP 工具默认隐藏点开头文件) - Apache 虚拟主机配置里必须有
AllowOverride All,只写AllowOverride None或漏配,.htaccess直接被忽略 - 确认
mod_rewrite已启用:a2enmod rewrite+systemctl restart apache2 - Nginx 用户跳过这一节,直接照官网配
try_files,别硬套 Apache 规则
vendor/autoload.php 找不到?多半是当前工作目录错了
执行 php spark migrate 或自己写 CLI 命令时,报 require(): Failed opening required 'vendor/autoload.php',不是 Composer 没装好,而是你没在项目根目录下运行。
-
spark脚本依赖当前路径下的vendor/autoload.php,所以必须 cd 进myproject/(即spark文件所在目录)再执行 - 别在
myproject/public/或myproject/app/下运行命令——哪怕spark文件在那里也无效 - IDE 终端默认路径容易错,建议每次先敲
pwd确认










