【发布时间】:2019-06-29 07:15:36
【问题描述】:
在 windows 上运行 php-cli 版本 7.3.4,在 linux 上运行 7.3.6,等式time()-$_SERVER["REQUEST_TIME_FLOAT"] 似乎相当一致地缩短了 1 秒.. 为什么?运行php -r 'sleep(4);var_dump(time()-$_SERVER["REQUEST_TIME_FLOAT"]);',我得到数字 3.X,我希望这总是返回一个数字 >=4,为什么我得到 3.x 数字?
hans@hans-lp17 ~
$ php -r 'sleep(4);var_dump(getrusage()["ru_utime.tv_sec"]);var_dump(time()-$_SERVER["REQUEST_TIME_FLOAT"]);'
int(0)
float(3.1129999160767)
hans@hans-lp17 ~
$ php -r 'sleep(4);var_dump(getrusage()["ru_utime.tv_sec"]);var_dump(time()-$_SERVER["REQUEST_TIME_FLOAT"]);'
int(0)
float(3.3659999370575)
hans@hans-lp17 ~
$ php -r 'sleep(4);var_dump(time()-$_SERVER["REQUEST_TIME_FLOAT"]);'
float(3.3789999485016)
hans@hans-lp17 ~
$ php -r 'sleep(4);var_dump(time()-$_SERVER["REQUEST_TIME_FLOAT"]);'
float(3.664999961853)
hans@hans-lp17 ~
$ php -r 'sleep(4);var_dump(time()-$_SERVER["REQUEST_TIME_FLOAT"]);'
float(3.3450000286102)
hans@hans-lp17 ~
$ php -r 'function f(){sleep(4);var_dump(time()-$_SERVER["REQUEST_TIME_FLOAT"]);}f();'
float(3.2279999256134)
hans@hans-lp17 ~
$ php -r 'function f(){sleep(4);var_dump(time()-$_SERVER["REQUEST_TIME_FLOAT"]);}f();'
float(3.0420000553131)
hans@hans-lp17 ~
$ php -r 'function f(){sleep(4);var_dump(time()-$_SERVER["REQUEST_TIME_FLOAT"]);}f();'
float(3.539999961853)
hans@hans-lp17 ~
$ php -r 'function f(){sleep(4);var_dump(time()-$_SERVER["REQUEST_TIME_FLOAT"]);}f();f();'
float(3.0999999046326)
float(7.0999999046326)
【问题讨论】: