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

yipeiwu_com6年前PHP代码库

如果使用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实现的常规正则验证helper公共类完整实例

本文实例讲述了PHP实现的常规正则验证helper公共类。分享给大家供大家参考,具体如下: 主要代码功能: 弥补平时项目对于验证功能这块的不严谨。具体细分的常规验证, 手机号/电话/小灵...

PHP解压ZIP文件到指定文件夹的方法

本文实例讲述了PHP解压ZIP文件到指定文件夹的方法。分享给大家供大家参考,具体如下: /** * function: 解压zip 格式的文件 * author:friker...

PHP封装的多文件上传类实例与用法详解

本文实例讲述了PHP封装的多文件上传类实例与用法。分享给大家供大家参考,具体如下: <?php /**//* * @(#)UploadFile.php * * 可...

PHP根据传来的16进制颜色代码自动改变背景颜色

复制代码 代码如下: <?php echo "<html>"; echo "<head><title>改变背景颜色</title>&...

50个PHP程序性能优化的方法

1、 用单引号代替双引号来包含字符串,这样做会更快一些。因为 PHP 会在双引号包围的 字符串中搜寻变量,单引号则不会,注意:只有 echo 能这么做,它是一种可以把多个字符 串当作参数...