Symfony 6.4.48 在 Windows 上搭建需三步:一、配置 PHP 8.1+ 并启用 openssl、mbstring 等扩展;二、用 Scoop 安装 Symfony CLI(v5.17.1);三、执行 symfony new myapp --version=6.4.48 --webapp 创建项目,再 symfony serve 启动。

直接在 Windows 上搭建 Symfony 6.4.48 应用,核心是确保 PHP 环境合规、CLI 工具可用、项目初始化正确。Symfony 6+ 不再支持旧式 PEAR 或 symfony-installer(已弃用),必须使用 Composer + Symfony CLI 或纯 Composer 方式创建项目。6.4.48 是 Symfony 6.x 的一个维护版本(非 LTS),需注意其 PHP 版本要求为 PHP 8.1+(官方明确要求最低 PHP 8.1.0)。
确认并配置 PHP 8.1+ 环境
这是前提,否则后续所有命令都会失败:
- 下载 PHP 8.1.x 或更高版本(如 8.2.20)的 Thread Safe (TS) + x64 ZIP 包(推荐从 windows.php.net 获取)
- 解压到固定路径(如
C:\php),重命名php.ini-development为php.ini - 编辑
php.ini:取消注释以下扩展(去掉分号)extension=opensslextension=pdo_mysqlextension=mbstringextension=xmlextension=curl
并设置:curl.cainfo = "C:\php\cacert.pem"(需先下载 cacert.pem 放入该目录) - 将
C:\php加入系统环境变量PATH,重启终端后运行php -v和php -m | findstr openssl验证
安装 Symfony CLI(推荐方式)
Symfony CLI 提供 symfony serve、环境检测、密钥管理等便捷功能,比原生 PHP 内置服务器更贴近生产行为:
通过 SSH 隧道从 Android 设备在互联网上对 Windows PC 实现完整远程控制的设置与使用指南,适用于远程桌面访问、安全 RDP 等。
- 打开 PowerShell(管理员非必需,但需允许脚本执行):
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser - 安装 Scoop(轻量包管理器):
iwr -useb get.scoop.sh | iex - 安装 Symfony CLI:
scoop install symfony-cli - 验证:
symfony --version(应显示 v5.17.x 或更高;注意:v6+ CLI 尚未发布,当前最新稳定 CLI 即 v5.17.1,完全兼容 Symfony 6.4)
创建 Symfony 6.4.48 项目
有两种可靠方式,任选其一(推荐第一种):
-
方式一:用 Symfony CLI 指定版本
symfony new myapp --version=6.4.48 --webapp--webapp自动包含 Twig、Doctrine、Maker Bundle 等常用组件;若只需最小骨架,去掉该参数 -
方式二:用 Composer 直接指定版本
composer create-project symfony/skeleton myapp "6.4.48"
然后手动添加所需组件:cd myappcomposer require webapp(等价于composer require twig doctrine orm-pack maker-bundle)
项目创建完成后,进入目录运行:symfony serve —— 默认监听 https://127.0.0.1:8000(自动启用 HTTPS + HTTP/2,首次运行会生成本地证书)
验证与常见问题处理
访问 https://127.0.0.1:8000,看到 Symfony 默认欢迎页即成功。若报错,重点检查:
-
“SSL certificate problem”:说明
cacert.pem路径未正确配置或文件损坏,重新下载并核对php.ini中curl.cainfo路径 -
“The openssl extension is not enabled”:确认
php.ini中extension=openssl已启用,且无拼写错误(如open_ssl) -
“Class 'Symfony\Component\HttpKernel\Kernel' not found”:Composer 安装中断导致 vendor 不完整,删掉
vendor/和composer.lock,重新运行composer install -
数据库连接失败(如 MySQL):修改
.env文件中的DATABASE_URL,例如:DATABASE_URL="mysql://root:password@127.0.0.1:3306/myapp?serverVersion=8.0"
确保 MySQL 服务已运行(推荐用 Docker:docker run -d --name mysql64 -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:8.0)

















