官方推荐唯一可靠方式是用 composer create-project 初始化 Symfony 项目,因 symfony/symfony 元包自4版起已废弃,手动 require 会导致依赖冲突、缺骨架结构及 CLI 失效。
直接用 composer create-project 就能初始化一个标准 Symfony 项目,不需要手动安装框架包或配置 autoload —— 这是官方推荐的唯一可靠方式。
为什么不能用 composer require symfony/symfony
这是最常见的误操作。旧版文档曾提过该命令,但自 Symfony 4 起,symfony/symfony 元包已被废弃,强行安装会导致:
- 依赖冲突(比如
symfony/http-kernel和symfony/framework-bundle版本不匹配) - 缺少项目骨架(没有
src/、config/、public/index.php等必需结构) - CLI 命令(如
bin/console)无法正常工作
composer create-project 的正确用法
它会拉取完整项目模板(如 symfony/website-skeleton 或 symfony/skeleton),并自动执行安装脚本。常用组合:
- 带 Web 功能的完整项目:
composer create-project symfony/website-skeleton my-project - 最小化 API 项目(无 Twig、Web Server):
composer create-project symfony/skeleton my-project - 指定版本(如 6.4 LTS):
composer create-project symfony/website-skeleton:^6.4 my-project
注意:命令执行后,composer install 会自动运行,bin/console 和 public/index.php 都已就绪。