数据库时间晚8小时?就是没改时区,系统、PHP、MySQL三个地方都要调对
新手搭完MySQL,默认时区是UTC,数据库存的时间比北京时间晚8小时,网站上显示的发布时间全错,用户看到文章是凌晨3点发的,特别奇怪。MySQL时区配置几个要点:第一,在my.cnf配置文件里,加default-time-zone = '+08:00',把数据库时区改成东八区,存进去的时间就是北京时间;第二,改完配置要重启MySQL,不然配置不生效,时间还是错的;第三,PHP的时区也要对应改,在php.ini里加date.timezone = PRC,不然PHP取出来的时间,和数据库的时间对不上;第四,别把服务器的时区也搞错,Debian系统默认是UTC,要把系统时区改成Asia/Shanghai,不然服务器日志里的时间也错。
我之前搭环境,MySQL默认UTC,存进去的文章时间比北京时间晚8小时,用户看到文章是晚上12点发的,以为网站有问题,改完时区配置,时间立刻就对了。很多新手搭环境,只改PHP的时区,忘了MySQL的,结果存的时间和显示的时间差8小时,来回折腾。真的,搭环境的时候,系统、PHP、MySQL三个地方的时区都改成东八区,时间就不会错了。
本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。
0