Как отмечено в PHP документация, $_SERVER
суперглобальный массив содержит два элемента, REQUEST_TIME
а также REQUEST_TIME_FLOAT
оба из которых содержат метку времени начала запроса с различными уровнями точности.
В настоящее время я использую следующий фрагмент для включения времени (в миллисекундах), которое потребовалось серверу для генерации страницы в нижнем колонтитуле страницы:
round((microtime(true)-$_SERVER['REQUEST_TIME_FLOAT'])*1000,2);
Он возвращает точное значение (на самом деле не может проверить, но, похоже, он соответствует времени, которое требуется браузеру для начала загрузки страницы), но мне интересно, в какой именно момент $_SERVER['REQUEST_TIME']
а также $_SERVER['REQUEST_TIME_FLOAT']
переменные содержат метку времени? Хотя я считаю, что различия между этими временными метками несущественны, я хотел бы знать, в какой момент это временная метка. Это время, когда запрос был отправлен, когда запрос был получен, когда PHP начал анализ документа или что-то еще?
$_SERVER['REQUEST_TIME']
а также $_SERVER['REQUEST_TIME_FLOAT']
, время получения запроса вашим HTTP-сервером.
Небольшое предупреждение относительно вашей версии PHP:
https://bugs.php.net/bug.php?id=64370
При проверке исходного кода PHP кажется, что в большинстве случаев он получает начальное время запроса от самого SAPI — то есть от Apache, Nginx, сервера CLI, CGI … и т. Д.
Источники:
$_SERVER['REQUEST_TIME']
определениеsapi_get_request_time()
(SG()
выступает за «SAPI Global [значение]«)php_apache_sapi_get_request_time()
sapi_module
определения [1] [2]