【发布时间】:2012-08-19 22:00:17
【问题描述】:
这两个时间函数中哪一个更好?
我的网站上有一个表单,每微秒或更短时间就有数千个用户提交,因此我的服务器上同时有数千个请求。
所以我想使用在执行时不使用任何睡眠的那个。另外,$_SERVER['REQUEST_TIME'] 和 time() 的独特性如何?两者都每微秒变化一次吗?
$_SERVER['REQUEST_TIME'] 会在我每次提交表单时更改吗?就像,time() 函数会在每个时间差时发生变化。
我需要向用户提供一个唯一的 url 以进行验证,在其中附加从两者中的任何一个生成的唯一结果?另外,使用 microtime() 会使 PHP 休眠吗?不是吗?
【问题讨论】:
-
我一直在想,那些每秒“有”数千个请求的人总是试图在琐碎的功能上节省开支,而不是在猜测/分析上浪费时间。
-
你为什么要用时间来验证?用于验证的唯一标识符不应该尽可能不可预测吗?时间可以(在限制内,但仍然)预测!简单地使用随机值不是更好吗? (可能将时间作为随机生成器的种子,但这是一个侧面)
-
time() 和 $_SERVER['REQUEST_TIME'] 都是从 1970/01/01 开始的秒数。 microtime() 使用微秒。
标签: php performance time reliability