无法在 php 中设置 date.timezone.ini 文件

2022-08-30 18:57:33

我正在使用php5.5,每当我在PHP中使用date函数时都会收到此错误:

 Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /var/www/info.php on line 1

加载的配置文件在这里:

/etc/php5/apache2/php.ini 

所以我将date.timezone设置更改为:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Jakarta

; http://php.net/date.default-latitude
;date.default_latitude = 31.7667

; http://php.net/date.default-longitude
;date.default_longitude = 35.2333

; http://php.net/date.sunrise-zenith
;date.sunrise_zenith = 90.583333

; http://php.net/date.sunset-zenith
;date.sunset_zenith = 90.583333

然后我重新启动服务器:

sudo /etc/init.d/apache2 restart

但仍然收到此错误,我试图检查附加ini文件位置中的.ini文件,但没有一个覆盖date.timezone设置

我已经检查了php.ini文件权限,但仍然无法正常工作,请指导我解决此问题,谢谢。


答案 1

试试这个:

date.timezone = "Asia/Jakarta"

编辑:

让我们找到正确的 php.ini。在apache / nginx / 任何Web服务器中触发它(因为命令行版本可能与它使用的版本不同)。

<?php
phpinfo();
?>

输出中.ini是什么?还是一样?

编辑2:

在php.ini编辑后,只需重新启动Web服务器(apache或nginx)...


答案 2

终于解决了我的问题,这是我加载的配置文件:

/etc/php5/apache2/php.ini 

在此处修改了 date.timezone,但它不起作用。

因此,我检查phpinfo()中的“扫描此dir以查找其他.ini文件”值,该值指向:

/etc/php5/apache2/conf.d 

然后我从该文件夹中的所有文件中搜索date.timezone,但没有找到。

这是我在phpinfo()中解析的附加.ini文件值:

/etc/php5/apache2/conf.d/05-opcache.ini, /etc/php5/apache2/conf.d/10-pdo.ini, /etc/php5/apache2/conf.d/20-json.ini, /etc/php5/apache2/conf.d/20-mysql.ini, /etc/php5/apache2/conf.d/20-mysqli.ini, /etc/php5/apache2/conf.d/20-pdo_mysql.ini, /etc/php5/apache2/conf.d/20-xdebug.ini, /etc/php5/apache2/conf.d/30-mcrypt.ini 

我修改了 /etc/php5/apache2/conf.d/20-xdebug.ini,并附加了这一行:

date.timezone = Asia/Jakarta

非常奇怪,但这解决了我的问题!!!


推荐