必须用 composer create-project 安装 Yii2,因手动 require 只拉核心包,缺失 web 入口、yii 命令和配置结构,导致 404 或 Class 'Yii' not found;基础版执行 composer create-project --prefer-dist yiisoft/yii2-app-basic basic,高级版执行 composer create-project --prefer-dist yiisoft/yii2-app-advanced advanced,并务必运行 php init。

装 Yii2 本质上就一条核心命令,但不同系统在前置准备、权限处理和路径习惯上确实有差异。官方早已停更归档包,唯一推荐方式是 Composer create-project,其他方法(如直接解压 zip、git clone 官方仓库)都会导致 vendor 缺失、入口文件错位或命令行工具失效。
Composer 安装是跨平台统一前提
无论哪个系统,都必须先装好 Composer,且版本不能太旧(建议 ≥ 2.2)。系统自带的 apt/yum 或 brew 安装的 composer 常年不更新,容易卡在依赖解析或 GitHub API 限流上。
- Linux/macOS:用官方脚本安装最稳,避免 apt 包管理器的老旧版本
curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composer - Windows:直接运行 Composer-Setup.exe,它会自动配置环境变量和关联 .bat 文件
- 装完立刻执行
composer self-update,确保不是 1.x 旧版
创建项目命令完全一致,但初始化脚本名不同
命令本身在三端一模一样:
- 基础版:
composer create-project --prefer-dist yiisoft/yii2-app-basic basic - 高级版:
composer create-project --prefer-dist yiisoft/yii2-app-advanced advanced
但项目生成后,必须运行初始化脚本才能生成真实配置:
- Linux/macOS:进入项目根目录,执行
./init(需 chmod +x 权限) - Windows:双击
init.bat或命令行中运行init.bat,选 0(Development) - 这一步不能跳过——它把 environments/dev/ 下的模板配置复制到 config/,并建立软链接或复制逻辑
Web 服务器配置与目录权限的处理差异
三端都要让 Web 服务器指向 web/ 子目录(不是项目根目录),否则 runtime/ 和 assets/ 写入失败、index.php 源码暴露。
- Linux/macOS:Apache/Nginx 配置 DocumentRoot 到
/path/to/basic/web;然后给runtime和web/assets赋写权限:chmod 777 runtime web/assets - Windows(WAMP/XAMPP):把整个项目目录放进
www或htdocs,再通过虚拟主机绑定到http://basic.test这类域名,并确保 Apache 的DocumentRoot指向项目内web目录(不是根目录) - 所有系统都要检查 PHP 扩展是否启用:mbstring、openssl、PDO、tokenizer、xml —— 缺一个,init 或访问时就会报错,不会静默失败
Github 认证是共性痛点,不是系统差异
Composer 在下载过程中大量调用 GitHub API,匿名请求每小时上限仅 60 次。Yii2 依赖多个 Bower/NPM 包,极易触发限流。
- 现象:卡在 “Loading from cache” 后提示输入 GitHub 用户名密码
- 解决方式统一:提前在 GitHub Settings → Developer settings → Personal access tokens 中生成 token(勾选 public_repo 即可),再运行:
composer config -g github-oauth.github.com <your_token></your_token> - 该配置全局生效,Windows/Linux/macOS 都适用,避免每次安装都手动输账号

















