php时间戳不准确问题

今天同事告诉我说,在后台看到写入数据表的创建时间ctime(PHP时间戳)比正常情况下快了半小时。当时我第一反应肯定是时区设置错了。

根据经验开始排查

  1. 重新设置php.ini的timezone:
timezone=Asia/Shanghai

重启xampp后时间还是错。

  1. 修改THINKPHP的config.php文件:
DEFAULT_TIMEZONE => 'PRC'

未果。

  1. 在代码中设置时区:
    date_default_timezone_set(‘Asia/Phnom_Penh’)//必写:柬埔寨时区

常用时区如下:

date_default_timezone_set('Asia/Shanghai');//Asia/Shanghai 亚洲/上海
date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing 亚洲/重庆
date_default_timezone_set('PRC');//其中PRC为 中华人民共和国
ini_set('date.timezone','Etc/GMT-8');
ini_set('date.timezone','PRC');
ini_set('date.timezone','Asia/Shanghai');
ini_set('date.timezone','Asia/Chongqing');

还是不行。

  1. 同步服务器的系统时间

在网上查找了相同的情况,可能是服务器的系统时间同步出了问题。一般编程语言获取的是当前系统的时间,命令行下执行date查看当前系统时间(用的是linux系统),果然不出所料,系统时间比正常快了一个小时左右。

有人执行这个同步系统时间:

[root@FCPD lampp]# date
Thu Oct 22 09:02:10 CST 2020
[root@FCPD lampp]# ntpdate time.nist.go
Error : Name or service not known
22 Oct 09:02:19 ntpdate[12903]: can't find host time.nist.go

22 Oct 09:02:19 ntpdate[12903]: no servers can be used, exiting

结果不行,尝试别的:

#设置系统时间与网络时间同步
ntpdate cn.pool.ntp.org

or =>   ntpdate -u ntp.api.bz
[root@FCPD lampp]# hwclock
Thu 22 Oct 2020 09:03:40 AM CST  -0.876630 seconds
[root@FCPD lampp]# ntpdate cn.pool.ntp.org
22 Oct 09:04:37 ntpdate[12907]: the NTP socket is in use, exiting
[root@FCPD lampp]# date -R
Thu, 22 Oct 2020 09:05:18 +0800
[root@FCPD lampp]# ntpdate cn.pool.ntp.org
22 Oct 09:09:24 ntpdate[12912]: the NTP socket is in use, exiting
[root@FCPD lampp]# ntpdate -u ntp.api.bz
22 Oct 09:39:08 ntpdate[12915]: step time server 114.118.7.163 offset 1776.866614 sec
[root@FCPD lampp]# date
Thu Oct 22 09:39:19 CST 2020

再次查看系统时间及时间戳。OK 问题解决了。
参考文章:
Linux 网络时间同步
Linux命令-更新系统时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值