在 PHP 中使用 cURL 函数发送请求时,我们可以通过设置超时时间来控制请求的最大时间限制,以避免长时间等待服务器响应而阻塞 PHP 脚本。
cURL 函数提供了两个选项来设置超时时间:CURLOPT_TIMEOUT
和 CURLOPT_CONNECTTIMEOUT
。具体使用方法如下:
// 初始化一个 cURL 对象$ch = curl_init();// 设置请求的 URLcurl_setopt($ch, CURLOPT_URL, "http://example.com");// 设置连接超时时间,单位是秒curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);// 设置请求超时时间,单位是秒curl_setopt($ch, CURLOPT_TIMEOUT, 10);// 执行 HTTP 请求$response = curl_exec($ch);// 关闭 cURL 资源curl_close($ch);
在上面的代码中,我们使用了 curl_setopt()
函数来设置连接超时时间和请求超时时间的选项。其中:
CURLOPT_CONNECTTIMEOUT
选项用于设置连接超时时间,单位是秒。如果连接超时,cURL 函数将会返回一个错误。CURLOPT_TIMEOUT
选项表示整个请求的最大超时时间,单位同样是秒。如果请求在超时时间内未能完成,cURL 函数也会返回一个错误。
需要注意的是,超时时间不能设置得太短,否则可能导致请求未完成而被中断。一般情况下,CURLOPT_CONNECTTIMEOUT
的值建议设置为 5 秒左右,CURLOPT_TIMEOUT
的值应该根据实际情况而定,一般可以设置为 10 秒到 30 秒之间。
来源地址:https://blog.csdn.net/qq_27487739/article/details/130641871