PHP time() 有时会关闭几秒钟,然后在下次调用时更正

Posted

技术标签:

【中文标题】PHP time() 有时会关闭几秒钟,然后在下次调用时更正【英文标题】:PHP time() sometimes off by a few seconds, then correct next time it is called 【发布时间】:2019-01-28 22:37:39 【问题描述】:

我有一个在黑盒 Web 服务上运行的简单 php 程序,它使用 time() 函数。我注意到time() 函数在我的程序中并不是特别一致。我在网页上显示时间,当我刷新页面时,会显示更新的时间。

有时当我刷新时,时间会在50100 秒之间跳跃,然后下次我刷新页面时,它会跳回到较低(更一致)的 Unix 时间戳,与显示的时间一致 2 次刷新以前的。

代码很简单:

<?php 
    echo(time()); 
?>

问题

为什么time() 函数的结果有时会关闭几秒钟,然后下次更正?

【问题讨论】:

我从未遇到过time() 的此类问题。它肯定不会降低。 time() 基于您服务器的时间,因此听起来您的服务器时钟存在某种问题。听起来它正在同步到一个错误的数据源,然后恢复或其他什么。 可能是您的机器时钟走偏了,然后它与时间服务器同步并自行纠正。 你的服务器时间是多少? 如果您在一个在多个 Web 服务器上进行负载平衡的 Web 服务上运行它,则很可能其中一个 Web Head 的时间与其余的不同步。 【参考方案1】:

time() 函数在跨多个服务器运行时有时会给出不同的结果。负载均衡器可以将您定向到时间一致的服务器。如果负载平衡器随后将您定向到系统时钟发生偏移的其他服务器,您可能会从 time() 函数中获得不同的结果。

如果系统时钟发生偏移,则时间可能会在某一时刻不正确而在另一时刻更正的其他情况。然后在与时间服务器重新同步的过程中,它更新了时间,导致您失去或获得时间。

【讨论】:

以上是关于PHP time() 有时会关闭几秒钟,然后在下次调用时更正的主要内容,如果未能解决你的问题,请参考以下文章

Python脚本在几秒钟后自动关闭,当它从IP摄像机对RTSP实时源进行对象检测时?

xamps 上的 MySQL 服务运行,然后在几秒钟后停止

连接到 AWS 上设置的 ActiveMQ 时连接会在几秒钟后关闭

状态栏在关闭模式视图后保持隐藏并在几秒钟后出现

提交后如何关闭引导模式?

maven compile 有时会失败有时会成功