深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复

PHP 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 in /var/www/cacti/index.php
查了一些资料,说是PHP版本太高,在新版本中必须指定timezone之类的。

具体操作方式如下:
1、在php配置文件中添加timezone的配置
(参照debian的配置规则,添加小的配置规则文件即可,好维护,自定义性好)
~# vim /etc/php/cli-php5.3/ext-active/date_timezone.ini
date.timezone = "Asia/Shanghai"
~ # env-update
~ # source /etc/profile
自定义的文件放在cli-php5.3/ext-active目录中,是因为php默认是采用cli方式,另外ext-active目录是表示启用特性的专用目录,这个可以从/etc/env.d/20php5.3文件中看出来
MANPATH="/usr/lib/php5.3/man/"
CONFIG_PROTECT_MASK="/etc/php/cli-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/apache2-php5.3/ext-active/"

2、在出现错误提示的php文件中添加date_default_timezone_set('Asia/Shanghai');位置是在中国上海

注:
在某些参考资料中是说这两个方法任选其一就可,但经我测试,必须两个方法同时使用,才不会再出现错误提示。

经实测其实第二个方法并不需要在每个出现错误提示的PHP文件中添加,只需在其中一个PHP文件中添加即可。另外添加的时区不需要与提示中的时区一样,比如系统给我的提示是Chongqing,但我设置成Shanghai也是一样的,当然这个时间也是与我系统的时区设置是一样的。

(0)

相关推荐

  • PHP中设置时区方法小结

    找到原因后,在网上搜索到了一些关于PHP的时区设置方法: 1.修改php.ini,在php.ini中找到data.timezone =去掉它前面的;号,然后设置data.timezone = "Asia/Shanghai";即可. 2.在程序PHP 5以上版本的程序代码中使用函数ini_set('date.timezone','Asia/Shanghai');或者date_default_timezone_set('Asia/Shanghai'); 一些常用的时区标识符说明: Asia

  • php时区转换转换函数

    复制代码 代码如下: /* * 时区转换 */ function toTimeZone($src, $from_tz = 'America/Denver', $to_tz = 'Asia/Shanghai', $fm = 'Y-m-d H:i:s') {    $datetime = new DateTime($src, new DateTimeZone($from_tz));    $datetime->setTimezone(new DateTimeZone($to_tz));    ret

  • PHP中date与gmdate的区别及默认时区设置

    一.date与gmdate有什么区别? PHP时间函数中有两个格式化函数:date()和gmdate(),在官方的文档中的描述为: 复制代码 代码如下: date()   #- 格式化一个本地时间/日期gmdate() #- 格式化一个 GMT/UTC 日期/时间,返回的是格林威治标准时(GMT). 先来举个例子,我们现在所在的时区是+8,那么服务器运行以下脚本返回的时间应该是这样的:当前时间假定是2013-03-14 12:15:27 复制代码 代码如下: echo date('Y-m-d H

  • PHP中设置时区,记录日志文件的实现代码

    复制代码 代码如下: <html><body><?phpdate_default_timezone_set('Asia/Hong_Kong');  //set time zoneset_error_handler("myHandler");               //set error handler$chinatime = date('Y-m-d H:i:s');             //get current time$max_size =

  • PHP中遇到的时区问题解决方法

    最近在学习PHP过程中发现PHP中的格式化时间戳比北京时间晚了8个小时,上网搜索发现原来是时区不对,解决办法是: 1.永久修改 更改php.ini文件中的data.timezone = PRC  这是中国时间.重启Apache服务后生效. 2.临时修改 在使用格式化输入时间之前,添加ini_set('date.timezone','Asia/Shanghai');               或者data_default_timezone_set('PRC');//date_default_ti

  • javascript+php实现根据用户时区显示当地时间的方法

    本文实例讲述了javascript+php实现根据用户时区显示当地时间的方法.分享给大家供大家参考.具体如下: 在跨时区应用中会用到下面代码,这是以前写的一段代码. 服务器保存相关时间配置,保存形式为GMT时间,客户端需要根据客户所在时区做相应显示,以符合客户习惯. 1. JavaScript代码如下: window.onload = function() { //TODO begin 处理登陆用户时区 //获得登陆用户时区与GMT时区的差值 var exp = new Date(); var

  • php输出全球各个时区列表的方法

    本文实例讲述了php输出全球各个时区列表的方法.分享给大家供大家参考.具体实现方法如下: <?php $timezones = array ( '(GMT-12:00) International Date Line West' => 'Pacific/Wake', '(GMT-11:00) Midway Island' => 'Pacific/Apia', '(GMT-11:00) Samoa' => 'Pacific/Apia', '(GMT-10:00) Hawaii' =&

  • PHP跨时区(UTC时间)应用解决方案

    1.将程序内部时区设置为UTC时间.(UTC 也可以叫 GMT) PHP设置: date_default_timezone_set("UTC"); Yii设置: config/main.php 中添加 :'timeZone'=>'UTC', 如此设置后,PHP生成的时间基本都是UTC时间了.例如: //输出当前UTC时间 date("Y-m-d H:i:s"); 2.数据库中存储UTC时间. 可以用PHP控制,也可以通过设置数据库时区来实现. 3.服务端发送到

  • 有关 PHP 和 MySQL 时区的一点总结

    PHP 脚本端的市区设置可以在 php.ini 下设置 date.timezone 键的值为 'Asia/Shanghai' 即可.但是通常共享虚拟主机本身没有修改 php.ini 权限.这个时候就应该在程序公共部分加入 ini_set('date.timezone','Asia/Shanghai');动态修改 php.ini 的设置.之后可以测试一下时间是否正确: var_dump(date());如果服务器的本地时间是正确的,那么一般就能解决问题了.附,PHP 5.1 以上提供了专门的函数修

  • 深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复

    PHP 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

  • 域名DNS解析的故障解决方法

    这个现象发生的机率比较大,所以本文将从零起步教给各位读者一些基本的排除DNS解析故障的方法. 一.什么是DNS解析故障? 一般来说像我们访问的www.jb51.net,www.kanshule.com这些地址都叫做域名,而众所周知网络中的任何一个主机都是IP地址来标识的,也就是说只有知道了这个站点的IP地址才能够成功实现访问操作. 不过由于IP地址信息不太好记忆,所以网络中出现了域名这个名字,在访问时我们这需要输入这个好记忆的域名即可,网络中会存在着自动将相应的域名解析成IP地址的服务器,这就是

  • jQuery 行级解析读取XML文件(附源码)

    最近在做一个项目,因为页面使用了Cookie,所以要判断用户的浏览器是否支持Cookie,并提示用户如何开启浏览器的Cookie功能.同时,整个项目要配置多语言支持,包括中文.越南语.日语和英语,所以必须有语言配置文件.项目中应用jQuery解析读取XML语言配置文件来实现语言的调度.这是jQuery解析读取XML文件功能的测试源码,现拿出来分享.目录结构: main.css文件代码: 复制代码 代码如下: @CHARSET "UTF-8"; * { margin: 0px; padd

  • 深入解析C++编程中基类与基类的继承的相关知识

    基类 继承过程将创建一个新的派生类,它由基类的成员加上派生类添加的任何新成员组成.在多重继承中,可以构建一个继承关系图,其中相同的基类是多个派生类的一部分.下图显示了此类关系图. 单个基类的多个实例 在该图中,显示了 CollectibleString 和 CollectibleSortable 的组件的图形化表示形式.但是,基类 Collectible 位于通过 CollectibleSortableString 路径和 CollectibleString 路径的 CollectibleSor

  • C# Dynamic关键字之:解析dynamic就是Object

    C# 4.0提供了一个dynamic 关键字,那么什么是dynamic,究竟dynamic是如何工作的呢? 从最简单的示例开始: 复制代码 代码如下: static void Main(string[] args)        {            dynamic dyn = 1;            object obj = 1;            //在编译时将鼠标放到 "dyn"  和"obj"中可以发现:             // dyn:局

  • 详解Android中解析XML的方法

    XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能.今天就由我向大家介绍一下在Android平台下几种常见的XML解析和创建的方法. 在Android中,常见的XML解析器分别为SAX解析器.DOM解析器和PULL解析器,下面,我将一一向大家详细介绍. SAX解析器: SAX(Simple API for XML)解析器是一种基于事件的解析器,它的核心是事件处理模式,主要是围绕着事件源以及事件处理器来工作的.当事

  • 10分钟掌握XML、JSON及其解析

    引言 NOKIA 有句著名的广告语:"科技以人为本".任何技术都是为了满足人的生产生活需要而产生的.具体到小小的一个手机,里面蕴含的技术也是浩如烟海,是几千年来人类科技的结晶,单个人穷其一生也未必能掌握其一角.不过个人一直认为基本的技术和思想是放之四海而皆准的,许多技术未必需要我们从头到尾再研究一遍,我们要做的就是站在巨人的肩膀上,利用其成果来为人们的需求服务. 随着移动互联网时代的大潮,越来越多的App不光是需要和网络服务器进行数据传输和交互,也需要和其他 App 进行数据传递.承担

  • Android编程解析XML方法详解(SAX,DOM与PULL)

    本文实例讲述了Android编程解析XML方法.分享给大家供大家参考,具体如下: XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能.今天就由我向大家介绍一下在Android平台下几种常见的XML解析和创建的方法. 在Android中,常见的XML解析器分别为SAX解析器.DOM解析器和PULL解析器,下面,我将一一向大家详细介绍. SAX解析器: SAX(Simple API for XML)解析器是一种基于事

  • PHP 5.3新特性命名空间规则解析及高级功能

    日前发布的PHP 5.3中,最重要的一个新特性就是命名空间的加入.本文介绍了PHP命名空间的一些术语,其解析规则,以及一些高级功能的应用,希望能够帮助读者在项目中真正使用命名空间. 在这里中我们介绍了PHP命名空间的用途和namespace关键字,在这篇文章中我们将介绍一下use命令的使用以及PHP如何解析命名空间的名字的. 为了便于对比,我定义了两个几乎一样的代码块,只有命名空间的名字不同. < ?php   // application library 1   namespace App\L

  • log4j使用详细解析

    简单的说log4j就是帮助开发人员进行日志输出管理的API类库.它最重要的特点就可以配置文件灵活的设置日志信息的优先级.日志信息的输出目的地.日志信息的输出格式 Log4j 除了可以记录程序运行日志信息外还有一重要的功能就是用来显示调试信息. 程序员经常会遇到脱离Java ide环境调试程序的情况,这时大多数人会选择使用System.out.println语句输出某个变量值的方法进行调试.这样会带来一个非常麻烦的问题:一旦哪天程序员决定不要显示这些System.out.println的东西了就只

随机推荐