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

如果使用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等)即可!

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

(0)

相关推荐

  • PHP时间和日期函数详解

    PHP中所有函数都是UNIX纪元的,即从1970年1月1日开始的. 日期是从这个时候开始的秒数. 当一个函数调用从这时候计的秒数时,就把它当作(timestamp)时间戳. 本地时间函数 1. string date(string format,inieger timestamp) 该函数返回一个表示时间的字符串,是由string format 控制的. 如: <? print(date("Y年 m月d日");//输出当前,年月日. print(date("Y年 m月d

  • php自定义错误处理用法实例

    本文实例讲述了php自定义错误处理用法.分享给大家供大家参考.具体如下: <?php error_reporting(E_ALL); function ErrHandler($errorno, $errorstr, $errorfile, $errorline) { $display = true; $notify = false; $halt_script = false; $error_msg = "<br>The $errorno error is occurring a

  • PHP日期函数date格式化UNIX时间的方法

    本文实例讲述了PHP日期函数date格式化UNIX时间的方法.分享给大家供大家参考.具体分析如下: 日期函数可以根据指定的格式将一个unix时间格式化成想要的文本输出 使用到函数语法如下 string date (string $Format); string date (string $Format, int $Time); 下面是演示代码 <?php echo "When this page was loaded,\n"; echo 'It was then ', date

  • PHP中把错误日志保存在系统日志中(Windows系统)

    [将错误记录到系统日志中] 在 php.ini 中将 error_log 设置为: 复制代码 代码如下: error_log = syslog 或者在运行时使用 ini_set() 函数设置. [例1] <?php //关闭错误显示 ini_set('display_errors', 0); //开启错误日志功能 ini_set('log_errors', 'on'); //设置错误日志的路径 ini_set('error_log', 'syslog'); //显示所有错误 error_repo

  • PHP系列学习之日期函数使用介绍

    介绍 PHP是一门非常令人惊奇的语言.它足够强大(最大的博客(wordpress)的核心语言),它足够广泛(运行在最大社交网站facebook上),它足够简单(作为初学者首选入门语言).在低成本的机器上运行良好.而且php语言有很多非常不错的服务器套件(如WAMP和MAMP),很方便的安装在你的机器上.PHP有非常丰富的库资源,便于开发者很容易的处理一些业务.由于我们在项目中与日期接触最多,所以今天就从日期函数入手学习. 举一个简单的date例子 我将使用echo命令把内容输出到我们的客户端(浏

  • PHP的Yii框架使用中的一些错误解决方法与建议

    此文意在记录 Yii 开发过程中的小问题解决方案,不全面,不权威,不是教程.自己写过,觉得可以解决问题,以后也可能用上,就记记吧.     1. Yii 中 Js 和 Css 文件的引入.     我们就从最简单的问题开始吧,说起来也不是问题,只是语法罢了.假设我们的 js 文件都放在和 protected 同一层的 js 文件夹里,css 文件都放在和 protected 同一层的 css 文件夹里,好吧,规范就是这样的...那我们可以在对应的 view 界面按下面这样写,css 和 js 函

  • php检查日期函数checkdate用法实例

    本文实例讲述了php检查日期函数checkdate用法.分享给大家供大家参考.具体分析如下: php中可以使用checkdate函数校验日期的正确性. 语法 integer checkdate (int %Month, int $Day, int $Year); 演示代码 <?PHP echo "2/29/1900"; checkdate (2, 29, 1900)?print " is Valid":print " is not valid&quo

  • PHP中Date()时间日期函数的使用方法小结

    语法 date(format,timestamp)参数 描述 format 必需.规定时间戳的格式. timestamp 可选.规定时间戳.默认是当前的日期和时间 要找出前一天的时间就是 time()-60*60*24; 要找出前一年的时间就是 time()*60*60*24*365 那么如何把这个数字换成日期格式呢 ,就要用到date()函数了 $t=time();www.3ppt.com echo date("y-m-d h:i:s" ,$t); 每一个参数的格式分别表示: a -

  • PHP中date()日期函数有关参数整理

    在页面的最前页加上 date_default_timezone_set(PRC); /*把时间调到北京时间,php5默认为格林威治标准时间*/ date () a: "am"或是"pm" A: "AM"或是"PM" d: 几日,两位数字,若不足则补零:从"01"至"31" D: 星期几,3个英文字母,如:"Fri" F: 月份,英文全名,如:"January

  • PHP笔记之:日期函数的使用介绍

    介绍  PHP是一门非常令人惊奇的语言.它足够强大(最大的博客(wordpress)的核心语言),它足够广泛(运行在最大社交网站facebook上),它足够简单(作为初学者首选入门语言).在低成本的机器上运行良好.而且php语言有很多非常不错的服务器套件(如WAMP和MAMP),很方便的安装在你的机器上.PHP有非常丰富的库资源,便于开发者很容易的处理一些业务.由于我们在项目中与日期接触最多,所以今天就从日期函数入手学习. 举一个简单的date例子 我将使用echo命令把内容输出到我们的客户端(

随机推荐