本质是PHP未配置默认时区,需在php.ini中设置date.timezone = "Asia/Shanghai"并重启环境,确保php -r "echo date_default_timezone_get();"输出Asia/Shanghai,此后Composer创建Symfony项目等操作方可正常执行。

在 Windows 下安装 Symfony 时遇到时区报错(如 Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone settings),本质不是 Symfony 自身错误,而是 PHP 未正确配置默认时区。只要补上这一步,后续所有命令(composer create-project、symfony new、php bin/console)都能顺利执行。
确保 PHP 环境已就绪且扩展启用
安装前先验证基础环境:
- 打开命令提示符,运行
php -v,确认输出 PHP 版本(建议 ≥ 8.1;Symfony 6+ 不再支持 PHP 7.x) - 运行
php -m | findstr "intl mbstring curl fileinfo",确认关键扩展已加载(intl尤其重要,时区依赖它) - 若缺失扩展,在
php.ini中取消对应行前的分号,例如:;extension=mbstring→ 改为extension=mbstring - 修改后务必重启命令行或服务(如 PHPStudy/WAMP/XAMPP)
必须设置 PHP 默认时区
这是解决“时区报错”的核心步骤,不能跳过:
- 找到你当前 PHP 正在使用的
php.ini文件(运行php --ini查看路径) - 用记事本或 VS Code 打开该文件,在
[Date]区块下添加或修改这一行:date.timezone = "Asia/Shanghai" - 保存文件,再次运行
php -r "echo date_default_timezone_get();",应输出Asia/Shanghai - 如果仍报错,请检查是否编辑了错误的
php.ini(CLI 和 Web 模式可能使用不同配置)
推荐安装方式:用 Composer 创建项目
官方已弃用旧版 symfony.phar 安装器(symfony.com/installer 页面已 404),Composer 是目前最稳定、兼容性最好的方式:
- 确保已安装 Composer(运行
composer -V验证) - 进入你的工作目录(如
D:\projects),执行:composer create-project symfony/skeleton:^6.4 my_project
(^6.4表示最新 6.4.x 版本;如需 LTS 版本可改用^7.0) - 进入项目:
cd my_project - 启动开发服务器:
php -S 127.0.0.1:8000 -t public
或安装 Symfony CLI 后运行symfony server:start
额外提醒:避免常见 SSL/cURL 报错
如果你在 composer create-project 过程中遇到 cURL error 60(SSL 证书问题):
- 下载 cacert.pem,保存到例如
D:\php\cacert.pem - 在同一个
php.ini中添加:curl.cainfo = "D:\php\cacert.pem" - 重启命令行,重试 Composer 命令即可











