2017-03-17 93 views
0

一些真正奇怪的事情发生在功能gmtdate()返回错误的时间。它总是少于10分钟。Gmdate()总是10分钟实际格林威治标准时间

$utc_str  = gmdate('d-m-Y:H-i', time()); 
print("Time: " . $utc_str . "\n\n"); 

*注意:我没有比较gmdate和我的时间(这会产生时区偏差)。我将它与GMT时间进行比较(我只是谷歌gmt time并检查)。

所以我得到的例子是Time: 17-03-2017:00-19,实际时间是00-29。这总是10分钟。这与我的PHP设置有关吗?

我的PHP.ini文件有date.timezone = UTC。我在宅基地(流浪者)里面跑Laravel。这是在我的本地Windows 10笔记本电脑上。 Windows 10操作系统时间是正确的。不确定Homestead VM

+2

大概意思是你的服务器时间不正确 –

+0

@RyanVincent我在宅基地(流浪者)内部运行Laravel。这是在我的本地Windows 10笔记本电脑上。 Windows 10操作系统时间是正确的。不确定Homestead VM。 –

+0

尝试使用'date +%T -s'命令在你的家园中设置'time'。HH:MM:SS“'确保你用你当地的时间替换'HH:MM:SS' –

回答

0

宅基地服务器有时间漂移问题。您应该考虑在虚拟机内使用ntp客户端来与时间服务器同步时间。

问题仍然是他们的问题跟踪: https://github.com/laravel/homestead/issues/463

如果你不是在生产中/长期来看使用宅基地,使用ntpdate一次将做的工作:

ntpdate [time server domain name] 
相关问题