【发布时间】:2013-05-11 02:29:56
【问题描述】:
我有一些 PHP4 代码,我需要在执行一些代码后恢复系统时间。我正在寻找一个简单的语句,我可以用它来存储当前日期/时间,然后恢复它:
$oTime = function1();
...
do something else
...
function2($oTime);
在 PHP5 中,您可以非常简单地使用 date_timestamp_get() 和 date_timestamp_set(),但是如果您必须使用 PHP4,如何实现这一点最简单?
附:毫无疑问我为什么使用 PHP4。我也不喜欢……
【问题讨论】:
-
为什么需要更改系统时间?回答这个问题可能更容易(也更安全)? (毕竟,如果一个请求将系统时间缩短了一个小时,然后另一个请求又进来了一个小时,然后第一个请求完成并恢复了时间,第二个请求将没有预期的时间,并且将恢复到第一个的工作时间)
-
这是对时间设置功能的测试。我将时间更改为一个常数值,对其进行验证,然后将时间设置回去(略带细微之处,将时间留给测试本身)。
-
您是否安装了 NTP(网络时间协议)。您可以使用它来将服务器时间同步回正确的时间en.wikipedia.org/wiki/Network_Time_Protocol(通常在启动时完成,但您可以自己操作 - 同步、更改时间、运行脚本、同步) - linux 命令行将是
nptdate xxntppoolxx和date xxx -
如果你能说服我在PHP4中没有这样的功能,而且NTP解决方案比直接编码更简单,我会试一试。但实际上我不能使用 NTP。当我想正确地做到这一点时,我需要一个 php4 函数,并且只有 php4(没有任何其他包、服务、工具、代码......)