我正在使用Google的php client library来构建应用。有时,Google最多需要100秒才能响应API请求。我想将套接字超时限制为30秒。
有人知道这是怎么回事吗?没有在文档中看到任何明确的例子,我没有看到任何与超时相关的内容。
我确实在Java客户端的文档中找到了this example,但我似乎无法找到PHP等价物。
谢谢你的帮助。
根据this issue,您可以直接将参数传递给curl。
$client->setClassConfig('Google_IO_Curl', 'options',
array(
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_TIMEOUT => 10
)
);
在Google API v2中,这可以通过Guzzle客户端完成
$http = $googleClient->getHttpClient();
$http->setDefaultOption('connect_timeout', 10);
$http->setDefaultOption('timeout', 10);
这个在v2.2.2上为我工作:
$client->setConfig('CURLOPT_CONNECTTIMEOUT', 100);
$client->setConfig('CURLOPT_TIMEOUT', 1000);