在wsl2中安装symfony是windows上最贴近生产环境的php开发方式,需手动配置php、composer及项目,使用linux规则管理权限与路径,并推荐将项目置于wsl2原生路径而非/mnt/c。

直接在 WSL2 里装 Symfony,是 Windows 上最贴近生产环境的 PHP 开发方式——它不是“让 Symfony 跑起来”就行,而是让整个开发流(Composer、扩展、权限、路径)都按 Linux 规则运转。
先配好 WSL2 和基础 PHP 环境
WSL2 不是开箱即用的 PHP 环境,必须手动安装并验证:
- 确认已启用 WSL2:运行 wsl -l -v,状态为 Running 且版本是 2
- 更新软件源并安装 PHP 核心及常用扩展:
sudo apt update && sudo apt install php-cli php-mbstring php-xml php-zip php-curl php-intl
注意:php-intl 是 Symfony 启动必需项,漏掉会导致composer create-project中途失败 - 检查 PHP 是否就位:
php -v 应显示 7.4+ 或 8.0+ 版本
which php 应返回 /usr/bin/php;若为空,执行 hash -r 清除 shell 缓存再试
用 Composer 创建 Symfony 项目(推荐方式)
Symfony 官方已弃用旧版 symfony.phar 安装器(该地址已返回 404),当前标准流程是 Composer 驱动:
在 Windows 上执行终端命令,或对比 Windows 与 Linux 的 Shell 语法时使用。建议先检测当前 Shell 是 PowerShell 还是 cmd.exe,再给出相应命令……
- 确保已安装 Composer:
curl -sS https://getcomposer.org/installer | php
然后移动为全局命令:sudo mv composer.phar /usr/local/bin/composer - 新建项目目录并执行:
composer create-project symfony/skeleton my_project
如需完整功能包(含 Twig、Doctrine、WebProfiler),改用:
composer create-project symfony/website-skeleton my_project - 进入项目:
cd my_project
首次运行前建议执行:
composer install(补全依赖并生成 autoload)
启动服务与常见问题处理
WSL2 下不能直接用 php bin/console server:run(该命令已废弃),应使用现代方式:
- 安装 Symfony CLI(可选但推荐):
下载官方二进制:curl -1sLf 'https://dl.cloudsmith.io/public/symfony/cli/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/symfony-cli-archive-keyring.gpg
然后按官网指引添加仓库并安装symfony-cli - 更轻量做法:用内置 Web 服务器启动:
php -S 127.0.0.1:8000 -t public
注意:必须指定-t public,否则路由无法匹配 - 访问服务:
Windows 浏览器中打开 http://localhost:8000 即可 —— WSL2 默认支持 localhost 端口转发,无需额外配置 - 若遇
cacert.pem错误(如 Composer 报 cURL error 60):
在 WSL2 中执行:
sudo apt install ca-certificates
并确认php.ini中未硬编码错误的curl.cainfo路径(WSL2 下通常不需要手动设)
关键提醒:别混用 Windows 和 WSL2 文件系统
把项目放在 /home/yourname/my_project(WSL2 原生路径),而不是 /mnt/c/Users/…:
- Windows 文件系统(
/mnt/c)下执行composer install可能因权限、符号链接或性能导致失败 - 编辑器推荐用 VS Code + Remote-WSL 插件,直接在 WSL2 环境内打开项目,避免路径错乱
- 数据库等服务也应在 WSL2 内部署(如
sudo apt install mysql-server),而非依赖 Windows 的 XAMPP 实例
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










