Suppose this code:

假设这段代码:

<?php
date_default_timezone_set('UTC');
$time = gmmktime(14, 50, 0, 5, 12, 2013);
echo date('Y-m-d H:i:s O', $time).'<br />';
echo gmdate('Y-m-d H:i:s O', $time).'<br />';

date_default_timezone_set('GMT');
$time = gmmktime(14, 50, 0, 5, 12, 2013);
echo date('Y-m-d H:i:s O', $time).'<br />';
echo gmdate('Y-m-d H:i:s O', $time);
?>

On my local server I get the output:

在本地服务器上,我得到输出:

2013-05-12 14:50:00 +0000
2013-05-12 14:50:00 +0000
2013-05-12 14:50:00 +0000
2013-05-12 14:50:00 +0000

But on production the same code produces:

但在生产过程中,同样的代码产生:

2013-05-12 10:50:00 -0400
2013-05-12 14:50:00 +0000
2013-05-12 14:50:00 +0000
2013-05-12 14:50:00 +0000

Changing time of the machine doesn't affect the output in any way.

改变机器的时间不会对输出产生任何影响。

Some info:

一些信息:

$ date +%Z
GMT
$ date +%z
+0000
  • PHP 5.3.25 (cli) (built: May 11 2013 09:54:00)
  • PHP 5.3.25 (cli)(编译:2013年5月11日09:54:00)
  • CentOS release 5.9 (Final)
  • CentOS 5.9版本(最终)

2 个解决方案

#1


1

phpinfo() showed "Olson" Timezone Database Version as 0.system, so I used the command

phpinfo()显示“Olson”时区数据库版本为0。系统,所以我使用命令

pecl upgrade timezonedb

and added

并添加

extension=timezonedb.so

to php.ini

在php . ini中

After restarting the server, the problem has been resolved with the new timezone DB version 2013.3

重新启动服务器后,问题已经通过新的时区DB version 2013.3解决了。

更多相关文章

  1. php中的date函数中时区问题
  2. 为什么在php.ini中设置了date.timezone = PRC 后时区仍然出错
  3. 在php中检测浏览器,版本和平台的可靠方法
  4. 关于php5.*后的时区问题 date_default_timezone_set ();
  5. 工具mantisbt--将mantis安装到已经搭建好的PHP环境下出现的时区
  6. centos7 升级php版本
  7. 在rhel5版本下安装mysql+apache+php实战攻略
  8. mac下安装多版本PHP及切换
  9. 在WAMPSERVER下增加多版本的PHP(PHP5.3,PHP5.4,PHP5.5)支持。

随机推荐

  1. 解决Android studio 启动报错java.lang.R
  2. Android DHT11驱动
  3. android 读取 icon
  4. Android Studio报错:Ignoring unknown pa
  5. android 如何把新建项目的那个 android a
  6. Android开发实现HttpClient工具类
  7. 第一番 Android 不能进行debug调试
  8. 直播源码Android实现 曲线路径动画
  9. android按键定义
  10. Android应用程序生命同期