phpmyadmin设置数据库时区
一、遇到的问题
数据库里的字段有时间戳类型,如果客户端不设置时区,展示时就以服务器设置的为准。服务器设置的是UTC,但在界面展示时我希望时区是CST即东八区。

二、可用的解决方法
刚开始我是修改DbiMysqli类的connect方法源码,在$mysqli实例创建后调用$mysqli->query("set ttime_zone='+08:00'");进行设置,这样是可以解决问题的,但引入了另一个问题,就是phpmyadmin更新时需要再次修改代码,这种方法不是太完美。
三、完美的解决方法
虽然上面的方法能解决问题,但我不是很满意,所以继续看phpmyadmin的源码,看看有没地方读取配置进行设置的,结果还真找到了配置的地方,然后又查看了下phpmyadmin的官方文档以确认该配置是有效的,就是配置SessionTimeZone,具体设置可以参照官方文档:https://docs.phpmyadmin.net/en/latest/config.html#cfg_Servers_SessionTimeZone
文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有