symfony 6.4.48要求php≥8.1.0(推荐8.1.29或8.2.x),必须启用intl、mbstring、xml、json、ctype、session、tokenizer扩展,生产环境强制开启opcache并配置date.timezone,composer推荐3.5+,web服务器需正确配置路由转发与目录权限。

Symfony 6.4.48 是一个长期支持(LTS)版本,环境配置需兼顾稳定性与现代 PHP 特性支持。它不强制要求 PHP 最新版,但必须满足最低运行门槛,且关键扩展、时区、OPcache 等设置直接影响后续开发体验和部署可靠性。
PHP 版本与核心扩展
Symfony 6.4.48 官方要求 PHP ≥ 8.1.0(推荐 8.1.29 或 8.2.x),低于该版本将无法安装或启动。必须启用以下扩展:
-
intl:用于本地化、日期/数字格式化,未启用会导致
composer create-project报错或 Twig 渲染异常 - mbstring:字符串多字节处理基础,Serializer 和表单组件严重依赖
- xml 和 json:配置加载(如 XML/YAML 转换)、API 响应序列化必需
- ctype、session、tokenizer:框架引导阶段即调用,缺失会中断 Kernel 启动
-
opcache(生产环境强制开启):需配置
opcache.enable=1、opcache.validate_timestamps=0(生产)或=1(开发),并确保opcache.memory_consumption≥128
时区与错误报告
PHP 默认时区为空,可能导致 Doctrine 时间戳写入错误、日志时间混乱或测试失败。
- 在
php.ini中设为明确值:date.timezone = "Asia/Shanghai"(或其他实际所在时区) - 开发环境建议开启完整错误显示:
display_errors = On、error_reporting = E_ALL - 生产环境必须关闭:
display_errors = Off,改由日志记录(log_errors = On)
Composer 与权限配置
使用 Composer 3.x(推荐 3.5+)创建项目,避免因旧版解析器兼容问题导致依赖安装失败。
- 执行
composer create-project symfony/skeleton my_project前,确认全局 Composer 已更新:composer self-update - Linux/macOS 下,确保 Web 服务器用户(如
www-data或_www)对var/cache和var/log有读写权限;推荐用setfacl设置自动继承,而非简单chmod 777 - Windows 用户若用 WSL,注意挂载目录的文件权限映射,避免缓存写入失败
Web 服务器基础适配
不依赖 Apache 模块或 Nginx 特定配置即可运行,但正式部署需规范路由转发。
- 开发可直接用内置服务器:
symfony server:start(推荐)或php -S localhost:8000 -t public - Apache 需启用
mod_rewrite,且.htaccess在public/下默认有效 - Nginx 需配置
try_files $uri /index.php?$query_string;,禁止直接访问var/、config/等敏感目录











