一直以来,发现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"