Den*_*nis 6 php timezone centos centos6
当我做phpinfo()时,我正在试图
警告:phpinfo():依赖系统的时区设置是不安全的.您需要使用date.timezone设置或date_default_timezone_set()函数.如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符.我们在第8行的/myadmin/i.php中选择'EET/2.0/no DST'的'Europe/Helsinki'
这是i.php:
<?php
//echo date_default_timezone_get();
date_default_timezone_set("Europe/Kiev");
//echo date("l");
phpinfo();
?>
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,当我做date_default_timezone_set("欧洲/基辅")时,我得到:
注意:date_default_timezone_set():时区ID'Europe/Kiev'在第4行的/myadmin/i.php中无效
我确定我从这里使用有效的时区字符串,我确实设置了:
date.timezone =欧洲/基辅
在php.ini文件中.
环境:CentOS 6,nginx/1.1.11,PHP 5.3.8(fpm-fcgi)
我真的无法理解什么是问题.谢谢.
感谢评论,我能够解决我的问题.我在控制台做了什么:
#yum install php-pear
#pecl install timezonedb
Run Code Online (Sandbox Code Playgroud)
它需要c编译器:
configure: error: no acceptable C compiler found in $PATH
Run Code Online (Sandbox Code Playgroud)
...所以我做了:
#yum install gcc
Run Code Online (Sandbox Code Playgroud)
此外,如果您收到有关make命令的错误,只需运行即可
#yum install make
Run Code Online (Sandbox Code Playgroud)
最后,再试一次:
#pecl install timezonedb
Run Code Online (Sandbox Code Playgroud)
...它显示在最后:
You should add "extension=timezonedb.so" to php.ini
Run Code Online (Sandbox Code Playgroud)
我将"extension = timezonedb.so"添加到/etc/php.ini,然后重新启动php-fpm:
#/etc/init.d/php-fpm restart
Run Code Online (Sandbox Code Playgroud)