Composer 不提供全局安装 Symfony 框架的方式,正确方法是用 composer create-project 创建项目骨架,如 symfony/skeleton 或 symfony/website-skeleton,再进入目录运行服务器。

用 Composer 全局安装工具来“搭建 Symfony 项目”本身是个常见误解——Composer 本身不提供全局 Symfony 框架安装方式,也不该用来全局安装 Symfony。Symfony 不是像 CLI 工具那样的可执行包,而是一套基于项目结构的框架体系。真正要做的,是用 composer create-project 初始化一个标准项目。
别全局装“Symfony框架”
很多人误以为运行 composer global require symfony/framework-bundle 或类似命令就能装好 Symfony,实际会失败或无意义。因为:
- Symfony 没有官方维护的
symfony/framework-bundle全局可运行包 - 框架组件必须绑定在具体项目中,依赖自动加载、配置和目录结构
- 全局 require 只会让类库进入 Composer 全局 vendor,但无法生成路由、控制器、环境配置等必需内容
正确起点:用 create-project 创建骨架
这是官方唯一推荐、也是实际可用的方式。它会拉取预设结构、执行 composer install、设置权限,并准备好可运行环境:
- 最小化 API 项目:
composer create-project symfony/skeleton my_api - 带 Web 页面的完整项目(含 Twig、Doctrine、Webpack Encore):
composer create-project symfony/website-skeleton my_site - 项目创建后直接进目录:
cd my_site,然后php -S localhost:8000 -t public即可访问
Symfony CLI 是可选辅助工具,非必需
它和框架本身无关,只是开发便利工具:
- 可选安装:
composer global require symfony/cli - 安装后需把
~/.composer/vendor/bin(Linux/macOS)或%APPDATA%\Composer\vendor\bin(Windows)加入系统 PATH - 装好后可用
symfony new my_project --webapp,本质仍是调用create-project,只是封装了交互和默认选项
确认前提:Composer 必须已就位
若尚未安装 Composer,请先完成这一步:
- 下载官方安装器:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" - 校验签名(推荐):
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1ccd8432c1fe804010724b8ffba5ae0850f1ab375a0344921b92c7823') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" - 安装为全局命令:
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer(Linux/macOS)


















