GuzzleHttp 请求设置超时时间

时间:2024-07-01 17:37:26

之前调用一个三方的 WEB API,大量的请求超时,导致 PHP 进程被占用完。整个网站一直报 504。

其中一个优化措施就是对三方 API 调用设置超时时间。

use GuzzleHttp\Client;

$client = new Client();
$url = 'https://www.sunzhongwei.com';
try {
$res = $client->request('GET', $url, ['timeout' => 1.5]);
$res = $res->getBody();
} catch(\Throwable $e) {
Log::info('Fail to call api‘);
}

timeout 默认值是 0, 即一直等待,这非常危险。所以这里改成了 1.5 秒。