PHP脚本将用户消息添加到数据库中,使用time()
获取服务器时间。它工作了好几年,但现在time()
为不同的用户返回不同的时间戳:
[01:30] User1: Hi!
[01:27] User2: Hello!
[01:30] User1: How are you?
[01:27] User2: Fine.
脚本:
date_default_timezone_set('UTC');
// ...
$now = time();
// add message to database
这怎么可能?据我所知,函数time()
总是返回与时区无关的时间戳。
似乎您的共享主机是在某种集群上(就像我们的)
这对性能来说是很好的,但不幸的是,低端共享主机提供商通常不太关心他们的服务器。
特别是,在这种情况下,您的主机所在服务器的时钟不同步。一个服务器似乎慢了几分钟,导致了您所看到的结果。
你的选择是:
- 联系您的主机并要求他们修复它(祝GoDaddy好运…)
- 切换到更好的主机(无耻的自我推销加剧-如果感兴趣,请参阅我的个人资料页:p)
- 切换到专用服务器
嘿,我们甚至为你迁移你的网站,免费的!