所以今天做CRON时发现, 明明系统时间是 5点, 可是PHP里却显示3点, 这2个小时的时差是哪里冒出来的。。。
谷歌了一下, 大意就是 PHP使用自己的时区设置而不依赖系统时区,然而这个功能默认是关闭的, 所以默认就是 UTC时区了。
打开php.ini
找到 ;date.timezone = 修改为 data.timezone = 时区,记得把前面的;去掉,不然这一行被注释掉改死改活也不会生效的,然后重启PHP即可。
支持的时区列表在PHP官网里有。
为了同步国内时间, 可以直接设置成 data.timezone = Asia/Shanghai即可。