mysql和PHP之间@@session.time_区域值的差异

mysql和PHP之间@@session.time_区域值的差异,php,mysql,apache,Php,Mysql,Apache,我在PHP中读取@session.time_区域值时遇到问题 当我跑步时: SELECT @@global.time_zone, @@session.time_zone; 在mysql客户端中,我得到了在mysql配置中设置的值:+03:00 但是当我用PHP运行这个查询时,我得到了+00:00,甚至我在PHP.inidate.timezone=“Asia/Riyadh”中设置了时区,即+03:00 有什么想法吗?PHP时区与MySQL时区无关。但是@session.time\u zone是一

我在PHP中读取@session.time_区域值时遇到问题

当我跑步时:

SELECT @@global.time_zone, @@session.time_zone;
在mysql客户端中,我得到了在mysql配置中设置的值:+03:00

但是当我用PHP运行这个查询时,我得到了+00:00,甚至我在PHP.ini
date.timezone=“Asia/Riyadh”
中设置了时区,即+03:00


有什么想法吗?

PHP时区与MySQL时区无关。但是@session.time\u zone是一个MySQL值。通过PHP读取它会返回错误的值。我关心的是如何正确地从PHP中的数据库获取时间戳值。目前php的时区是“+00:00”,而不是“+03:00”。您如何连接到数据库?如果您使用PDO,它有一个选项
MYSQL\u ATTR\u INIT\u COMMAND
,允许您指定要执行的默认查询。这通常用于设置时区。为什么不在utc中保存所有内容,然后在php中转换回来,这样就不必关心使用了哪个时区