直接使用 symfony new my_project --version=8.1.9 创建项目最可靠,因 Symfony CLI 预置版本快照、跳过 Composer 解析,确保依赖精确锁定为 8.1.9;而 composer create-project 易版本漂移且操作繁琐。

直接用 symfony new my_project --version=8.1.9 即可创建符合要求的本地 Symfony App 项目,无需手动降级或魔改依赖。这个命令由官方 Symfony CLI 提供,能精准拉取指定小版本(包括修订号)的骨架代码和锁定依赖,是目前最可靠、最轻量的方式。
为什么不用 composer create-project?
虽然 composer create-project symfony/skeleton my_project 也能启动项目,但它默认获取最新稳定版(当前为 8.2.x),且不保证精确到 8.1.9。要强制指定版本,需额外加 --stability=stable --prefer-dist 并配合 "symfony/skeleton": "8.1.9" 的 JSON 参数,操作繁琐且易因 Composer 缓存或平台配置导致版本漂移。Symfony CLI 内部已预置各版本 skeleton 的哈希快照,跳过 Composer 解析环节,结果确定性更强。
必须安装 Symfony CLI 并登录
执行前确认已安装官方 CLI 工具(非第三方封装):
- macOS:运行
curl -sS https://get.symfony.com/cli/installer | bash,然后重启终端或执行source ~/.zshrc - Windows:下载 .exe 安装包,勾选“Add to PATH”
- 验证:终端输入
symfony version,应显示v5.10.0+或更高
首次运行 symfony new 会提示登录(symfony login),使用 GitHub 账号授权即可——这是为了获取私有组件访问权限及后续 symfony server:log 等功能支持,不影响基础项目生成。
生成后关键检查项
项目创建完成(约 10–20 秒)后,立即验证三处是否严格匹配 8.1.9:
-
composer.json 中
"symfony/framework-bundle"和"symfony/runtime"的版本字段应为"^8.1.9"(不是^8.1或~8.1.0) -
composer.lock 中所有
symfony/*包的version字段必须是8.1.9(注意:部分辅助包如symfony/polyfill-*可能为更高补丁版,属正常) -
运行
php bin/console --version输出应为Symfony 8.1.9 (env: dev, debug: true)
本地服务一键启动
进入项目目录后,直接运行:
symfony server:start
它会自动监听 https://127.0.0.1:8000,启用 TLS 本地证书,并实时重载 PHP 文件变更。不需要配置 Apache/Nginx,也不依赖系统 PHP 版本(CLI 自带兼容 PHP 8.1+ 的最小运行时)。若端口被占,CLI 会自动顺延并提示新地址,无须手动改配置。


















