如PHP documentation所述,$_SERVER超全局数组包含两个元素REQUEST_TIME和REQUEST_TIME_FLOAT,它们都包含不同精度级别的请求开始的时间戳.
我目前正在使用以下代码段来包含服务器在页面页脚中生成页面所花费的时间(以毫秒为单位):
round((microtime(true)-$_SERVER['REQUEST_TIME_FLOAT'])*1000,2);
它返回一个准确的值(无法真正检查,但它似乎与浏览器开始加载页面的时间相匹配),但我想知道$_SERVER [‘REQUEST_TIME’]和$_SERVER [确切的时刻] ‘REQUEST_TIME_FLOAT’]变量包含时间戳?虽然我认为这些时间戳之间的差异并不显着,但我想知道哪个时刻是时间戳.它是发送请求的时间,收到请求的时间,PHP何时开始解析文档或其他内容?
解决方法:
通过检查PHP源代码,它似乎大多数时候从SAPI本身获得初始请求时间 – 意味着来自Apache,Nginx,CLI服务器,CGI ……等.
资料来源:
> $_SERVER['REQUEST_TIME']
definition
> sapi_get_request_time()
(SG()代表“SAPI Global [value]”)
> php_apache_sapi_get_request_time()
> sapi_module deFinitions [1] [2]