解决php的“It is not safe to rely on the system’s timezone settings”问题
如果使用PHP5.3以上版本时,如果没有正确的配置php.ini就会出现PHP日期函数的错误。以前很多旧的PHP编程教程没有说到这个问题,所以不少读者会觉得困惑,下面笔者为大家讲述解决这个问题的三种方法。
"PHPWarning:
date()[function.date]:Itisnotsafetorelyonthesystem'stimezonesettings.
Youare*required*tousethedate.
timezonesettingorthedate_default_timezone_set()function.
Incaseyouusedanyofthosemethodsandyouarestillgettingthiswarning,
youmostlikelymisspelledthetimezoneidentifier.
Weselected'UTC'for'8.0/noDST'insteadin"
实际上,从PHP5.1.0,当对使用date()等函数时,如果timezone设置不正确,在每一次调用时间函数时,都会产生E_NOTICE或者E_WARNING信息。而又在PHP5.1.0中,date.timezone这个选项,默认情况下是关闭的,无论用什么PHP命令都是格林威治标准时间,但是PHP5.3中好像如果没有设置也会强行抛出了这个错误的,解决此问题,只要本地化一下就行了。
一、在页头使用date_default_timezone_set()设置date_default_timezone_set('PRC');//东八时区echo
date('Y-m-dH:i:s');
二、在页头使用ini_set('date.timezone','Asia/Shanghai');
三、修改php.ini(如果是windows系统,那么文件在C盘,Windows目录下,假如系统是安装在C盘)。使用记事本打开php.ini查找date.timezone去掉前面的分号修改成为:date.timezone=PRC
重启http服务(如apache2或iis等)即可!
以上三种方法任选其中一种即可,小编推荐使用第三种方法,不用每次都要增加额外的代码。