获取symfony http客户端的执行时间

问题描述 投票:0回答:1

我想获取http请求花费的秒数。我有这个代码:

$starttime = microtime(true);

$response = $this->httpClient->request(
    'POST',
    $endpoint,
    [
        'headers' => $header,
        'body' => $inputXml
    ]
);

sleep(2);
$endtime = microtime(true);
$timeDiffInSeconds = ($endtime - $starttime);

请求大约需要 3 秒,加上睡眠时间,在邮递员中我看到 5,08 秒,看起来是正确的。但在 PHP 中,我 $timeDiffInSeconds 是 float(2.0008609294891)。

http客户端是异步的吗?我怎样才能看到真实的执行时间? http客户端中有一个参数可以显示花费的时间吗?

symfony httpclient microtime
1个回答
0
投票

请求是异步的,因此为了等待,我们需要询问有关响应的信息,例如:

$statusCode = $response->getStatusCode();

这解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.