【发布时间】:2023-03-13 02:02:01
【问题描述】:
如PHP documentation 中所述,$_SERVER 超全局数组包含两个元素,REQUEST_TIME 和 REQUEST_TIME_FLOAT,这两个元素都包含请求开始的时间戳,具有不同的精度级别。
我目前正在使用以下 sn-p 将服务器生成页面所需的时间(以毫秒为单位)包含在页面的页脚中:
round((microtime(true)-$_SERVER['REQUEST_TIME_FLOAT'])*1000,2);
它返回一个准确的值(无法真正检查,但它似乎与浏览器开始加载页面所需的时间相匹配),但我想知道 $_SERVER['REQUEST_TIME'] 和 $_SERVER['REQUEST_TIME_FLOAT'] 变量的确切时间包含时间戳?虽然我相信这些时间戳之间的差异并不显着,但我想知道时间戳是在哪个时刻拍摄的。是发送请求的时间、接收请求的时间、PHP开始解析文档的时间还是其他时间?
【问题讨论】:
-
我很确定
$_SERVER是由处理请求的网络服务器填充的。 -
IIRC 正确地是在收到请求时。让我看看能不能找到相关的文档。 Have a look here.
-
$_SERVER 主要是来自 apache 的数据。我猜,但几乎可以肯定 request_times 是 apache 开始处理请求的时间。
标签: php time superglobals