yii2在windows/macos安装的核心是环境准备、composer配置和模板初始化三步,需避开github认证卡顿、asset插件版本冲突、cookie密钥缺失及php扩展未启用等高频报错点。

在 Windows 或 macOS 上安装 Yii2,核心是环境准备、Composer 配置和模板初始化三步。关键不在“能不能装”,而在于跳过 GitHub 认证卡顿、插件版本冲突、cookie 密钥缺失、PHP 扩展未启用等高频报错点。下面按真实操作顺序梳理,每一步都对应常见失败场景。
一、先确认 PHP 环境是否达标
Yii2 要求 PHP ≥ 7.1(推荐 7.4–8.2),且必须启用以下扩展:
- openssl(HTTPS 请求、Composer 下载必需)
- mbstring(多字节字符串处理,框架底层依赖)
- pdo 和 pdo_mysql(数据库连接基础)
- curl(远程资源获取,如 asset 插件安装)
- json 和 xml(配置解析与接口支持)
验证方式:终端执行 php -v 查版本,再执行 php -m | grep -E "openssl|mbstring|pdo"(macOS/Linux)或 php -m(Windows,人工查找)。若缺失,需编辑 php.ini,取消对应 extension=xxx 行前的分号,并重启命令行。
二、正确安装并配置 Composer(含国内加速)
Composer 是 Yii2 安装的唯一推荐方式,但直接运行默认源在国内极慢,且易因 GitHub API 限流中断。
- Windows:下载
Composer-Setup.exe官方安装器,安装时务必勾选“Add to PATH”;安装后在 CMD 中输入composer --version验证 - macOS:用
curl -sS https://getcomposer.org/installer | php下载composer.phar,再移至全局:sudo mv composer.phar /usr/local/bin/composer - 统一配置国内镜像(必做):
composer config -g repo.packagist composer https://packagist.phpcomposer.com(旧镜像)或更推荐:composer config -g repo.packagist composer https://packagist.proxy.fly.dev - 升级到最新版:
composer self-update
三、安装 Asset Plugin 并创建项目(重点避坑)
Yii2 依赖 Bower/NPM 包,必须通过 fxp/composer-asset-plugin 桥接。这个插件版本必须与 Composer 版本兼容:
- Composer 2.x(2021年后主流):用
composer global require fxp/composer-asset-plugin:^1.4.6 - Composer 1.x(旧系统):用
composer global require fxp/composer-asset-plugin:~1.4.0 - 若提示“Plugin not found”,说明插件未生效,可尝试加
--no-plugins参数重试,或删掉~/.composer/vendor后重装 - 创建项目时,避免使用
--stability=dev(开发版不稳定),基础版命令为:composer create-project --prefer-dist yiisoft/yii2-app-basic myproject
高级版为:composer create-project --prefer-dist yiisoft/yii2-app-advanced myproject - 若卡在 GitHub 登录环节:提前注册 GitHub 账号 → 进入 Settings → Developer settings → Personal access tokens → Generate new token,勾选
public_repo,复制 token 后粘贴到命令行提示处(不是用户名密码)
四、初始化与首次运行(别跳过 init)
尤其高级模板,init 脚本不可省略,它会生成环境配置、设置权限、复制敏感文件:
- 进入项目根目录:
cd myproject - 执行:
php init(Windows)或./init(macOS/Linux) - 选择
0(Development environment),输入y确认 - 检查
config/web.php中'cookieValidationKey'是否已自动填充(Composer 方式通常已写好);若为空,手动填一串随机字符,例如'abc123xyz789!@#' - 启动内置服务器:
基础版:进入web/目录,运行php -S localhost:8080
高级版:前端访问frontend/web/index.php,建议配虚拟主机或用php -S localhost:8080 -t frontend/web
浏览器打开 http://localhost:8080,看到 “Congratulations!” 页面即成功。若报 500 错误,优先检查 runtime/ 和 web/assets/ 目录是否有写入权限(macOS/Linux 需 chmod 777,Windows 一般无此问题)。











