Bug #79030 [Nab]: $_SERVER['REQUEST_TIME_FLOAT'] and microtime(TRUE) combination problem
| From: | herbert at groot dot jebbink dot nl | Date: | Thu, 26 Dec 2019 06:00:31 +0000 |
| Subject: | Bug #79030 [Nab]: $_SERVER['REQUEST_TIME_FLOAT'] and microtime(TRUE) combination problem | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-224534@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=79030&edit=1
ID: 79030
User updated by: herbert at groot dot jebbink dot nl
Reported by: herbert at groot dot jebbink dot nl
Summary: $_SERVER['REQUEST_TIME_FLOAT'] and microtime(TRUE)
combination problem
Status: Not a bug
Type: Bug
Package: *General Issues
Operating System: ChromeOS / Crostini / Debian 10
PHP Version: 7.4.1
Block user comment: N
Private report: N
New Comment:
gettimeofday(2) may not be accurate at sub-millisecond level, but with 2 sequential calls the last
one will not be lower then the first one.
I think it is caused by the fact that $_SERVER['REQUEST_TIME_FLOAT'] is rounded to
milliseconds and microtime(TRUE) is not.
Previous Comments:
------------------------------------------------------------------------
[2019-12-25 09:12:46] requinix@php.net
Those two are backed by gettimeofday(2), which is not suitable for measuring time intervals to
sub-millisecond precision.
------------------------------------------------------------------------
[2019-12-25 06:56:21] herbert at groot dot jebbink dot nl
Description:
------------
Sometimes the $_SERVER['REQUEST_TIME_FLOAT'] and microtime(TRUE) combination gives strange
results.
Below example gives about 1 in 10 times a negative result.
Test script:
---------------
<?php
$script1 = microtime(TRUE);
$script2 = file_get_contents('http://localhost/script2.php');
echo $script2 - $script1;
?>
<?php
echo $_SERVER['REQUEST_TIME_FLOAT'];
?>
Expected result:
----------------
0.00038409233093262
Actual result:
--------------
-0.00039100646972656
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=79030&edit=1