PHP日期时区错误


PHP date timezone bug

首先是我关于日期的php.ini配置:

 [Date]
 date.timezone = 'America/Sao_Paulo'

当我得到ini_get("date.timezone")时,它会显示以下America/Sao_paulo(注意小写p)

每次使用date() 时,我都会出现以下错误

依赖系统的时区设置是不安全的。你是需要才能使用date.timezone设置或date_default_timezone_set()函数。如果你使用了这些方法,并且您仍然收到此警告,您很可能时区标识符拼写错误。我们选择了"美国/圣保罗"适用于"BRT/-3.0/无夏令时"

如果我使用

date_default_timezone_set('America/Sao_Paulo'); 

一切都很顺利,所以我想我的时区配置有问题。

您确定在正确的php.ini中设置它吗?

调用phpinfo()并确保您正在修改"Loaded Configuration file"下列出的ini文件

编辑:当您查看phpinfo()时,您还可以通过查看Date->Default timezone

来查看时区是否真的被设置