symfony 7.4 项目启动前须严格满足 php ≥ 8.4.1、intl(icu ≥ 72.1)、redis(≥ 6.1)或 relay(≥ 0.11)、mbstring、xml、json、ctype、iconv 等扩展启用,composer ≥ 2.5,并通过 lint:container、debug:router 和内置服务器三步验证。

要顺利启动 Symfony 7.4 项目,必须先确认 PHP 版本、扩展和基础工具是否达标——不是“能跑就行”,而是严格匹配官方最低要求:PHP ≥ 8.4.1,且 intl、mbstring、xml、json、ctype、iconv 等核心扩展必须启用;redis 扩展需 ≥ 6.1,relay ≥ 0.11;Composer 必须为 2.5+;Git 和命令行环境需就绪。
检查 PHP 与扩展是否合规
运行以下命令快速验证:
- php -v —— 确认输出为 PHP 8.4.1 或更高版本(7.4 或 8.3 均不支持)
- php -m | grep -E "(intl|mbstring|xml|redis|relay)" —— 检查关键扩展是否加载;若 redis 显示版本低于 6.1,需升级 PECL 包
- php -i | grep "ICU version" —— intl 扩展依赖 ICU 数据,建议 ≥ 72.1(Symfony 7.4 对 Unicode 处理更严格)
初始化项目前的必备准备
避免后续报错,推荐使用官方推荐方式创建新项目:
- 确保 Composer 已全局安装并更新:composer self-update
- 执行 composer create-project symfony/skeleton my_project(不推荐 symfony/framework-bundle 单装,骨架已含 Flex 自动配置)
- 进入项目目录后,立即运行 composer require webapp 启用完整 Web 栈(含 Twig、Router、HTTP Foundation 等)
- 检查 .env 文件中 APP_ENV=dev 和 APP_DEBUG=1 是否启用,开发阶段不可设为 prod
首次启动与基础验证
完成初始化后,务必执行三步验证,防止隐藏兼容问题:
- php bin/console lint:container —— 检查服务定义是否引用了已被移除的类(如 ContainerAwareInterface)
- php bin/console debug:router —— 验证路由系统是否正常加载(空项目默认有 _profiler 和 _wdt)
- php -S 127.0.0.1:8000 -t public —— 用 PHP 内置服务器启动,访问 http://127.0.0.1:8000 看是否显示 Symfony Welcome 页面











