composer怎么安装Yii2框架_composer安装与配置【教程】

1次阅读

最稳妥的yii2安装方式是用composer create-project,因其自动配置autoload、脚本钩子和dev依赖,避免yii命令不可用或调试失效;官方提供basic(轻量)和advanced(前后端分离)模板,选型取决于项目规模与目录结构需求。

composer怎么安装Yii2框架_composer安装与配置【教程】

直接用 composer create-project 安装 Yii2 是最稳妥的方式,不建议手动下载 ZIP 或改 composer.json 后再 composer install —— 容易漏掉 autoload 配置、脚本钩子或 dev 依赖,导致 yii 命令不可用或调试工具失效。

create-project 初始化标准应用

Yii2 官方维护两个基础模板:yii2-basic(轻量)和 yii2-app-advanced(前后端分离结构)。选哪个取决于项目规模,不是“高级模板功能更多”,而是目录组织和部署方式不同。

  • 新建空目录,执行:
    composer create-project --prefer-dist yiisoft/yii2-app-basic basic
  • 想用高级模板:
    composer create-project --prefer-dist yiisoft/yii2-app-advanced advanced
  • --stability=stable 可避免意外拉到 RC 版(尤其在 Composer 2.2+ 默认行为更激进时)
  • 如果卡在 Cloning into ... 或提示 gitHub rate limit,说明 Composer 正在走 Git 协议而非 ZIP;加 -vvv 看日志,然后运行 composer config -g github-oauth.github.com "your_Token" 配置 token

composer.json 里不能删 scriptsautoload

Yii2 模板的 composer.json 包含关键配置:比如 "post-create-project-cmd" 自动初始化环境、"autoload-dev" 加载测试类、"psr-4" 映射 @app 别名。删了会导致 Yii::setAlias('@app', ...) 失效,或 phpunit 找不到 TestCase

  • 别手动改 "autoload": {"psr-4": {...}} 里的路径,除非你重命名了 frontend/common/ 目录
  • "scripts" 中的 "exec 'chmod +x yii'"windows 下会报错,但可忽略——Composer 会跳过非 POSIX 命令
  • 如果之后要加扩展(如 yiisoft/yii2-redis),直接 composer require yiisoft/yii2-redis,别手写到 require 里再 install

安装后必须跑一次 init 脚本

尤其是 yii2-app-advancedcreate-project 只复制骨架,环境配置(开发/生产)、权限、数据库配置占位符都靠 init 生成。跳过这步,访问首页会报 Invalid Configuration – yiibaseInvalidConfigException,因为 environments/dev/frontend/web/index.php 还没被写入真实配置。

  • 进入项目根目录,执行:
    php init
  • 0(Development)或 1(Production),回车确认
  • Windows 用户若提示 'php' is not recognized,请确保 PHP 已加入系统 PATH,或用绝对路径调用,例如:C:phpphp.exe init
  • init 不会覆盖已修改的配置文件(如 common/config/main-local.php),但会跳过未生成的目录(比如你删了 environments 就彻底无法初始化)

最容易被忽略的是 init 的执行时机和 environments 目录的存在性——很多人以为 create-project 已完成全部设置,结果在 nginx/apache 配置完还 500,其实只是 web/index.php 没指向正确的入口配置文件。

text=ZqhQzanResources