对于全球分布式应用程序,每个服务器可能位于不同的时区,每个服务器的默认时区可能不同。
默认情况下,我的意思是服务器不知道在安装 php 和 mysql 时会在服务器上安装什么。
那么,我应该这样工作吗?要使用默认时区,让服务器人员在默认时区安装所有内容并确保 php 和 mysql 具有相同的时区?
我认为这种方式是一种解耦方式,因此应用程序不需要在 php 或 mysql 上设置时区。如果需要对时区做点什么,应用程序要做的就是获取时区。
我有这个担心,因为某些应用程序似乎试图设置 php 或 mysql 时区,甚至尝试同步它们。我不太确定这一点。这似乎使事情变得复杂。
建议?
加:
来自http://dev.mysql.com/doc/refman/5.7/en/replication-features-timezone.html
应该为主从设置相同的系统时区。否则,依赖于 master 本地时间的语句将无法正确复制,例如使用 NOW() 或 FROM_UNIXTIME() 函数的语句。
这是否意味着我的“解耦”方式对于主从设置来说是个坏主意?