PHP中设置时区方法

一直以来,发现iProber.php探针显示的服务器时区有问题,尽管已经将服务器时区设置为Asia/Shanghai,仍然无法解决这个问题。经过参阅网络上的相关文章,才发现问题出在PHP的时区设置上,PHP所取的时间默认是格林威治标准时间,所以和北京时间相差8小时。

找到原因后,在网上搜索到了一些关于PHP的时区设置方法:

第一步,设置CentOS系统时区为中国(北京时间)

1.查看当前时区

# date -R
Fri, 19 Oct 2012 23:34:27 +0800

主要就是后面的+0800,东八区

2.修改设置系统时区

# tzselect

选择5) Asia— 9) China —-1) Beijing Time

3.复制相应的时区文件,替换CentOS系统时区文件

# cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime

在中国可以使用(北京时间):

# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

第二步,修改php.ini文件中的相关设置

在php.ini文件第1005行左右找到如下代码

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "UTC"

将其修改为

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "PRC"

或者

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Asia/Shanghai"

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注