解决php的“It is not safe to rely on the system’s timezone settings”问题

在使用php程序过程中出现以下错误:

Warning: date(): 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 ‘Asia/Chongqing’ for ‘CST/8.0/no DST’ instead

Warning: strtotime(): 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 ‘Asia/Chongqing’ for ‘CST/8.0/no DST’ instead

Warning: date_default_timezone_get(): 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 'Asia/Chongqing' for 'CST/8.0/no DST' instead in <b>/home/ftp/n/nimaboke/include/lib/function.base.php

从PHP 5.1.0开始当对使用date()等函数时,如果timezone设置不正确,在每一次调用时间函数时,都会产生E_NOTICE 或者 E_WARNING 信息,而又在php中,date.timezone这个选项,默认情况下是关闭的,无论用什么php命令都是格林威治标准时间,但是PHP5.3中如果没有设置部分时间类函数也会强行抛出了这个错误的。因此php出现It is not safe to rely on the system’s timezone settings的问题是因为是时区设置不正确导致的,下面提供3种解决方法,根据自己的条件选择。

方法一:(推荐、建议)

在php.ini里加上找到date.timezone项,设置date.timezone = "Asia/Shanghai",重启服务器环境就可以了。

方法二:

在需要用到这些时间函数的时候,在页面添加代码:

date_default_timezone_set("PRC");
方法三:

在页头加上设置时区代码:

ini_set('date.timezone','Asia/Shanghai');
关键词: php