Symfony安装关键在于选对起点:骨架版(symfony/skeleton)最轻量,按需加组件,适合学习和API;标准版推荐用composer create-project symfony/skeleton my_project --webapp,预装Twig、Doctrine等,开箱即用;完整版(website-skeleton)已弃用,应跳过。

安装 Symfony,关键不是“能不能装上”,而是“选哪个起点更省力、更贴合后续开发”。骨架版、标准版、完整版本质是同一套框架的不同初始化方式,区别在于预装组件多少、开箱即用程度和学习成本高低。
骨架版(symfony/skeleton):轻量可控,适合学习与微服务
这是最精简的起点,只含核心依赖(如 HttpKernel、Yaml、Dotenv),不带模板引擎、数据库层或 Web 工具。所有组件按需启用——比如要加 Twig,运行 composer require twig;要加 Doctrine,再 composer require doctrine。
- 适合刚接触 Symfony、想理解“组件如何组装”的开发者
- 适合 API 服务、CLI 工具、消息队列消费者等非 Web 场景
- 项目体积小、启动快、依赖清晰,但每加一个功能都要手动执行命令
标准版(旧称 website-skeleton,现统一归入 skeleton + --webapp):平衡之选,新手友好
官方已将“完整 Web 功能”整合进骨架版的增强模式。现在推荐用:composer create-project symfony/skeleton my_project --webapp。它会自动安装 Twig、Doctrine、WebProfiler、MakerBundle 等常用 Web 组件,并生成基础路由、控制器模板和数据库配置示例。
- 目录结构完整(templates/、migrations/、src/Controller/ 等一应俱全)
- 自带 php bin/console make:controller 等快速生成命令
- 适合传统后台管理、企业官网、内容型网站等中等复杂度 Web 应用
完整版(symfony/website-skeleton):历史遗留,现已不推荐单独使用
这个包曾作为独立模板存在,但自 Symfony 6.2 起已被弃用。它和 --webapp 效果基本一致,但更新滞后、文档分散,且不再接收新特性同步。当前所有新项目都应跳过该包,直接用 skeleton + --webapp 启动。
- 如果你在老教程里看到 symfony/website-skeleton,请忽略,它已过时
- 现有项目若还在用,建议逐步迁移到 skeleton + webapp 模式,便于长期维护
- 所谓“完整”,只是相对骨架而言;真正生产级应用仍需根据业务补充 Redis、Mailer、Notifier 等扩展
怎么选?看这三句话就清楚
想搞懂原理、练手组件集成 → 选骨架版
想三天跑出登录页+列表页+数据库 → 选 skeleton + --webapp
看到“完整版”“website-skeleton”字眼 → 直接跳过,那是旧路径


















