网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2025/10/18 浏览:3 次 )

如果使用PHP5.3以上版本时,如果没有正确的配置php.ini就会出现PHP日期函数的错误。以前很多旧的PHP编程教程没有说到这个问题,所以不少读者会觉得困惑,下面笔者为大家讲述解决这个问题的三种方法。
"PHP Warning:
date() [function.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 'UTC' for '8.0/no DST' instead in"

实际上,从PHP 5.1.0,当对使用date() 等函数时,如果 timezone 设置不正确,在每一次调用时间函数时,都会产生 E_NOTICE 或者 E_WARNING 信息。而又在 PHP 5.1.0 中,date.timezone 这个选项,默认情况下是关闭的,无论用什么PHP 命令都是格林威治标准时间,但是PHP 5.3 中好像如果没有设置也会强行抛出了这个错误的,解决此问题,只要本地化一下就行了。

一、在页头使用date_default_timezone_set()设置 date_default_timezone_set('PRC'); //东八时区 echo
date('Y-m-d H:i:s');

二、在页头使用 ini_set('date.timezone','Asia/Shanghai');

三、修改 php.ini(如果是 windows 系统,那么文件在 C 盘,Windows 目录下,假如系统是安装在 C 盘)。使用记事本打开 php.ini 查找 date.timezone 去掉前面的分号修改成为:date.timezone = PRC
重启http服务(如apache2或iis等)即可!

以上三种方法任选其中一种即可,小编推荐使用第三种方法,不用每次都要增加额外的代码。

上一篇:php+ajax 实现输入读取数据库显示匹配信息
下一篇:php 问卷调查结果统计
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 站点导航 SiteMap