linux部署symfony项目需确保php≥8.1、composer和symfony cli就位,执行symfony new myapp --webapp创建集成twig/doctrine的骨架,cd myapp后用symfony server:start -d启动服务,并以curl -k https://127.0.0.1:8000验证响应。

在 Linux 服务器上命令行部署 Symfony 项目,核心是绕过图形界面、跳过手动配置陷阱,用最小依赖快速落地可运行环境。关键不是“装全所有包”,而是确保 PHP、Composer 和 Symfony CLI 三者就位后,一条命令生成骨架,再启动服务验证通路。
确认基础环境就绪
先检查是否满足最低运行条件:
- PHP 版本 ≥ 8.1(LTS 项目建议 ≥ 8.2),执行
php -v验证 - Composer 已全局安装,运行
composer --version应返回版本号(如 2.7+) - 确保
zip、unzip、git已安装(Symfony CLI 和依赖下载需要) - 若用于生产或调试,建议提前装好
php-mbstring、php-xml、php-intl、php-pdo等扩展
安装 Symfony CLI(推荐方式)
不用旧版 installer,直接用官方维护的 CLI 工具:
- 执行:
wget https://get.symfony.com/cli/installer -O - | bash - 将 CLI 加入 PATH(安装脚本通常提示路径,常见为
~/.symfony/bin):export PATH="$HOME/.symfony/bin:$PATH" - 立即生效并验证:
source ~/.bashrc && symfony -v,看到 v5.x 或 v6.x 即成功
创建并初始化项目
避免用 composer create-project 手动拉 skeleton——它不自动配 Web 能力,易漏 Twig/Profiler/MakerBundle:
- 执行:
symfony new myapp --webapp(目录名不含空格、中文) - 该命令自动选用
website-skeleton,集成 Doctrine、Twig、MakerBundle、WebProfiler 和 Flex 自动配置 - 完成后进入目录:
cd myapp - 验证基础功能:
php bin/console about查环境,php bin/console list看命令,php bin/console make:controller Default测试 MakerBundle 是否可用
启动与验证服务
开发阶段用内置 server 快速验证;生产环境则需反向代理(如 Nginx)+ PHP-FPM,此处聚焦命令行快速通路:
- 运行:
symfony server:start -d(-d后台运行,适合服务器无桌面场景) - 查看服务状态:
symfony server:status,确认监听https://127.0.0.1:8000 - 本地测试:用
curl -k https://127.0.0.1:8000检查是否返回欢迎页 HTML(忽略证书警告) - 日志实时跟踪:
symfony server:log,便于排查路由或环境变量问题











