我在php.ini文件中设置了date.timezone = Australia / Melbourne。但是,我又回到了UTC时间。详细信息如下。
根据phpinfo,我编辑了加载的配置文件:/etc/php.ini
我已经设置:
date.timezone = Australia/Melbourne
也尝试过“澳大利亚/墨尔本”
date.timezone不在此目录中的任何文件中:
/etc/php-7.3.d
我正在运行NGINX和php-fpm,我尝试过多次重启。
服务php-fpm重新启动
这是一些简单的测试代码:
echo date_default_timezone_get() . "<br/>";
echo ini_get('date.timezone') . "<br/>";
$date = date('m/d/Y h:i:s a', time());
echo $date;
在另一台具有类似设置的计算机上,我得到了本地时间:
Australia/Melbourne
Australia/Melbourne
05/02/2019 07:05:05 pm
在问题服务器上,我得到UTC时间:
Australia/Melbourne
Australia/Melbourne
05/02/2019 09:05:05 am
Linux表示问题实例的日期时间是:
Thu May 2 19:05:00 AEST 2019
有什么建议吗?
感谢brettsh
答案 0 :(得分:0)
是的,我编辑的文件(/etc/php.ini)由phpinfo.php中的“ Loaded Configuration File”值确定。这实际上是到/etc/php-7.3.ini的软链接,但是,我正在编辑正确的文件。
我确定“澳大利亚/墨尔本”是有效的时区。
此后我一直尝试:
export TZ='Australia/Melbourne'
将以下内容添加到www.conf
php_admin_value[date.timezone] = Australia/Melbourne
搜索以查看date.timezone在其他地方是否设置了不同的内容:
grep -rn "date.timezone" /etc/
搜索UTC:
grep -rn "UTC" /etc/
甚至尝试过
date_default_timezone_set('Australia/Melbourne');
也许这是我的问题: https://bugs.php.net/bug.php?id=77582
答案 1 :(得分:0)
结果证明该版本的PHP 是问题。
我要做的就是从PHP 7.3.2升级到7.3.4。
我正在运行AWS Linux,所以,我只是运行了此
:yum update