零基础新手要在 symfony 7.1 中跑出第一个可访问页面,必须用 --webapp 初始化项目以获得完整 web 工具链;需确保 php ≥8.2、启用 intl 等五扩展、安装 symfony cli 并执行 symfony new mypage --webapp;启动服务后访问 https://localhost:8000 即见欢迎页,再通过 make:controller 创建控制器、twig 模板及 yaml 路由即可显示动态内容。

零基础新手要在 Symfony 7.1 中跑出第一个可访问的页面,必须绕过精简骨架(skeleton),直接用带 Web 工具链的完整模板初始化项目,否则连 Twig 渲染器都不装,写完控制器也看不到 HTML 页面——这不是配置问题,是项目结构缺失导致的硬性失败。
确认 PHP 环境是否达标
打开终端,逐条执行:
php -v → 必须输出 8.2 或更高版本,低于此版本 Symfony 7.1 会拒绝安装;
php -m | grep -E "(intl|mbstring|xml|curl|fileinfo)" → 五个扩展缺一不可,其中 intl 扩展最常被漏装,Windows 用户需手动在 php.ini 中取消 ;extension=intl 前的分号;
composer -v → 有版本号即通过;国内用户建议立即设阿里云镜像:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/。
安装 Symfony CLI 并创建项目
macOS 用户运行:
brew install symfony-cli/tap/symfony-cli
Linux 用户运行:
wget https://get.symfony.com/cli/installer -O - | bash
Windows 用户去 symfony.com/download 下载图形安装程序并运行。
验证安装成功:symfony -v 有输出即 OK。
创建项目:
symfony new mypage --webapp
不要用 --full 参数,该选项已在 2025 年底正式弃用,新版统一用 --webapp;项目名 mypage 可任意替换,但不能含空格或中文。
启动服务并验证欢迎页
进入项目目录:
cd mypage
启动开发服务器:
symfony server:start
等待终端出现 “Web server listening on https://127.0.0.1:8000” 提示;
打开浏览器,访问 https://localhost:8000;
看到绿色 Symfony 欢迎页(含 “Welcome to Symfony” 标题和版本号)即表示基础环境完全就绪。
编写第一个动态页面
第一步:生成控制器
php bin/console make:controller HomepageController
如提示 “command not found”,先执行 composer require --dev symfony/maker-bundle。
第二步:编辑控制器文件
打开 src/Controller/HomepageController.php,将 index() 方法内容替换为:
return $this->render('homepage/index.html.twig', ['title' => '我的首个 Symfony 页面']);
第三步:创建 Twig 模板
在 templates/ 目录下新建子目录 homepage/,再新建文件 index.html.twig,写入:
{{ title }}
这是由 Symfony 7.1 渲染的动态页面。
第四步:配置路由
打开 config/routes.yaml,末尾追加:
homepage:
path: /
controller: App\Controller\HomepageController::index
注意缩进必须为两个空格,不能用 Tab,否则 YAML 解析失败。
第五步:刷新浏览器
回到 https://localhost:8000,页面内容已变成你写的 Twig 模板,标题显示“我的首个 Symfony 页面”。











