composer create-project是唯一推荐的启动方式,它自动拉取完整骨架(含web/index.php、config/、environments/、vendor/bin/yii等),而composer require yiisoft/yii2仅安装内核,缺失应用结构导致白屏、404或class not found。

composer create-project 是唯一推荐的启动方式,手动 require 只装 yiisoft/yii2 内核必然失败——缺入口文件、缺配置结构、缺 yii 命令,跑起来就是白屏或 Class 'Yii' not found。
必须用 create-project,别 require yii2
单纯执行 composer require yiisoft/yii2 只会拉取框架内核,不带任何应用层结构。你得自己写 web/index.php、手动注册 autoloader、配路由、搭 console 命令,90% 的新手卡在这一步。
-
yii2-app-basic和yii2-app-advanced才是完整可运行项目模板,自带web/入口、config/、environments/、vendor/bin/yii等全部必需文件 - 模板包在
autoload.files里预置了 Application 初始化逻辑,内核包yiisoft/yii2根本没这个能力 - 漏掉模板,
php yii migrate或php yii serve直接报错:命令未注册或找不到console/config/main.php
国内安装卡住?换镜像 + 跳过脚本
常见现象:卡在 yii2-auth-client 或 GitHub API 请求上,超时失败;或者 vendor/ 目录空空如也,但命令没报错。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 先换源:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 加
--no-scripts跳过 post-install-cmd(比如自动生成 cookie key、初始化权限等网络敏感操作):composer create-project --no-scripts --prefer-dist yiisoft/yii2-app-basic myproject - 装完进目录,再手动跑:
php init(选 Development / Production),它会补全environments/并生成cookieValidationKey
PHP 版本和扩展不匹配,create-project 直接报错
不是网络问题,而是环境硬性不满足。Yii2.0.x 最后稳定版 2.0.48 支持 PHP 7.4–8.1,但对 PHP 8.1+ 的部分新特性(如只读类、枚举)存在兼容警告,且强制要求 mbstring、openssl、pdo_mysql 启用。
- 检查 PHP 版本:
php -v,若输出8.2.0或更高,create-project可能静默失败或后续运行报Deprecated: strlen(): Passing null to parameter #1 - 确认扩展启用:
php -m | grep -E "mbstring|openssl|pdo_mysql",缺一个都会让composer create-project中断并提示Your requirements could not be resolved - Linux/macOS 下记得给
vendor/bin/yii加执行权限:chmod +x vendor/bin/yii;Windows 用yii.bat
版本指定要精确,别信默认 stable
Yii2.0.x 已于 2023 年底 EOL(End of Life),官方不再维护 bug,仅提供安全补丁。裸命令 composer create-project yiisoft/yii2-app-basic 默认拉取的仍是 2.0.48,但它不是“长期支持”,只是“最后可用版”。
- 显式指定版本更可控:
composer create-project --prefer-dist yiisoft/yii2-app-basic myproject 2.0.48 - 如果服务器是 PHP 8.0+,建议直接评估 Yii3,而非硬扛
2.0.48的兼容性风险 -
composer.json里别写"yiisoft/yii2": "~2.0.0",应锁死小版本:"yiisoft/yii2": "~2.0.48",避免升级时引入破坏性变更
DocumentRoot 必须指向 web/ 子目录,而不是项目根目录。哪怕 create-project 成功、php init 也跑过了,Apache/Nginx 指向错位置,index.php 就加载不到 vendor/autoload.php,结果还是 404 或空白页。










