当我做phpinfo()
时,我正在考虑警告:phpinfo():依赖系统的时区设置是不安全的。您必需使用date.timezone设置或date_default_timezone_set()函数。如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符。我们在第8行的/myadmin/i.php中选择“欧洲/赫尔辛基”作为“EET / 2.0 /无DST”
这是i.php:
<?php
//echo date_default_timezone_get();
date_default_timezone_set("Europe/Kiev");
//echo date("l");
phpinfo();
?>
正如你所看到的,当我做date_default_timezone_set(“欧洲/基辅”)时,我得到:
注意:date_default_timezone_set():时区ID'Europe / Kiev'在第4行的/myadmin/i.php中无效
我确定我使用了来自here的有效时区字符串,我确实设置了:
date.timezone =欧洲/基辅
在php.ini文件中。
环境:CentOS 6,nginx / 1.1.11,PHP 5.3.8(fpm-fcgi)
我真的无法理解什么是问题。 谢谢。
答案 0 :(得分:6)
感谢评论,我能够解决我的问题。我在控制台做了什么:
#yum install php-pear
#pecl install timezonedb
它需要c编译器:
configure: error: no acceptable C compiler found in $PATH
......所以我做了:
#yum install gcc
另外, 如果你收到关于make命令的错误,只需运行
#yum install make
最后,再试一次:
#pecl install timezonedb
...它显示在最后:
You should add "extension=timezonedb.so" to php.ini
我将“extension = timezonedb.so”添加到/etc/php.ini,并重新启动了php-fpm:
#/etc/init.d/php-fpm restart
答案 1 :(得分:0)
要扩展futureboxlab的解决方案,如果您没有安装make,则可能会遇到有关'make'命令的其他错误。 在这种情况下,您只需要运行
#yum install make
然后,再次(第三次是魅力)
#pecl install timezonedb