2017-03-17 97 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] 
相關問題