在apache服务器中加载php页面的时间

Ang*_*uha 1 php apache

是否可以知道Apache服务器加载PHP页面所花费的时间?Apache服务器内是否为Apache服务器下运行的每个页面生成了任何日志文件?

Ja͢*_*͢ck 9

我假设你想知道PHP生成页面需要多长时间.

当脚本启动时,从5.1开始,$_SERVER你可以使用一个名为的条目REQUEST_TIME.它包含请求开始的时间.在脚本结束时,您可以像这样计算它:

$time_taken = time() - $_SERVER['REQUEST_TIME'];
Run Code Online (Sandbox Code Playgroud)

显然,这不是很准确,因此REQUEST_TIME_FLOAT在PHP 5.4中引入了更新的:

$time_taken = microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'];
Run Code Online (Sandbox Code Playgroud)

对于<5.4,您可以在脚本开头使用此代码段以实现向后兼容性:

if (!isset($_SERVER['REQUEST_TIME_FLOAT'])) {
    $_SERVER['REQUEST_TIME_FLOAT'] = microtime(true);
}
Run Code Online (Sandbox Code Playgroud)

更新

要让Apache为您执行此操作,您可以添加%T和/或%D日志格式选项,例如

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" **%T/%D**" combined
Run Code Online (Sandbox Code Playgroud)

%T选项允许您记录所用的秒数并%D记录微秒(自Apache 2起).

另请参阅:提供请求需要多长时间