Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设置了date.timezone,为什么PHP仍然显示UTC时间?_Php_Timezone - Fatal编程技术网

设置了date.timezone,为什么PHP仍然显示UTC时间?

设置了date.timezone,为什么PHP仍然显示UTC时间?,php,timezone,Php,Timezone,我在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重启 下面是一

我在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;
然而,在问题服务器上,我得到UTC时间:

Australia/Melbourne
Australia/Melbourne
05/02/2019 09:05:05 am
Linux表示问题实例的日期时间为:

Thu May  2 19:05:00 AEST 2019
有什么建议吗

感谢brettsh

是的,我编辑的文件(/etc/php.ini)是由phpinfo.php中的“加载的配置文件”值确定的。这实际上是到/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');
也许这就是我的问题:

是的,我编辑的文件(/etc/php.ini)是由phpinfo.php中的“加载的配置文件”值确定的。这实际上是到/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');
也许这就是我的问题:

事实证明,这是该版本PHP的一个问题

我所需要做的就是从PHP7.3.2升级到7.3.4

我正在运行AWS Linux,所以,我刚刚运行了以下命令:

yum update
事实证明,这是该版本PHP的一个问题

我所需要做的就是从PHP7.3.2升级到7.3.4

我正在运行AWS Linux,所以,我刚刚运行了以下命令:

yum update

您是否确保您编辑的INI文件也是PHP使用的INI文件?在
phpinfo()
中查找“加载的配置文件”,并比较您编辑的文件的路径。您是否确保您编辑的INI文件也是PHP使用的INI文件?在
phpinfo()
中查找“已加载的配置文件”,并比较您编辑的文件的路径。文件可能重复