首选 composer create-project 创建 Symfony 项目,因其自动拉取完整骨架(含 src/、config/、public/、bin/console 等),不依赖已废弃的 Symfony CLI;API 用 symfony/skeleton,Web 用 website-skeleton,需指定 LTS 版本如 ^6.4,且目标目录必须不存在。

直接用 composer create-project 就能创建可运行的 Symfony 项目,这是当前最稳妥、最推荐的方式;而所谓“Symfony CLI 安装”已不适用于新项目初始化——CLI 工具本身在 Symfony 6.2+ 被标记为废弃,且不随 Composer 自动安装,强行依赖它反而容易出错。
为什么首选 composer create-project?
这个命令不是“装框架”,而是克隆官方骨架仓库(如 symfony/skeleton),自动拉取完整项目结构:含 src/、config/、public/、预设的自动加载规则、bin/console 入口,以及最小化但可启动的核心依赖。
- 不依赖全局工具,纯 Composer 原生流程,兼容性好、故障点少
- 生成的项目开箱即用:
php -S localhost:8000 -t public或symfony server:start(需单独装 CLI)都能立刻访问 - 避免常见错误:比如
Class not found: App\Kernel或command not found: symfony,基本都源于误用 CLI 或混用旧教程
三种常用 create-project 场景
根据项目类型选骨架,不是越全越好,也不是越新越稳:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
-
纯 API / 微服务:用
composer create-project symfony/skeleton myapi—— 无 Twig、无 Web Server 配置,启动最快 -
传统 Web 应用:用
composer create-project symfony/website-skeleton myweb—— 自带控制器示例、Twig 模板、基础表单支持 -
指定 LTS 版本:如要 Symfony 6.4,加版本约束:
composer create-project symfony/website-skeleton:^6.4 myapp
注意:my_project 目录必须不存在,否则命令会失败;不要手动建空目录再跑,create-project 不覆盖。
关于 Symfony CLI 的真实定位
CLI(symfony 命令)不是安装工具,而是本地开发辅助工具,功能包括:server:start 启动内置服务器、console 快捷调用、环境变量管理等。它需单独安装,且不能用来创建项目。
- 已废弃的
symfony new命令,就是 CLI 提供的,官方明确不再维护 - 如果你执行
symfony new myapp却提示command not found,说明 CLI 根本没装;就算装了,也该改用composer create-project - 现代推荐的本地服务器命令是
symfony server:start,但它只在项目已有后才起作用,不参与初始化
安装失败常见原因与解法
报错 Could not find package symfony/skeleton,大概率不是包下线,而是本地配置或网络问题:
- 先清缓存:
composer clear-cache - 临时切回官方源:
composer config -g repo.packagist composer https://packagist.org - 检查是否误加了
--stability=stable等参数——skeleton 默认就是 stable,加了反而可能过滤掉兼容版本 - 确认 PHP 版本 ≥ 8.1、Composer ≥ 2.5(2026 年推荐用 2.9.6,性能更稳)

















