使用curl_init做接口请求卡顿的原因可能有多种,可以尝试以下优化方法:
curl_setopt($ch, CURLOPT_TIMEOUT, 10); // 设置请求超时时间为10秒
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); // 设置连接超时时间为5秒
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0); // 设置HTTP协议版本为2.0
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3');
curl_setopt($ch, CURLOPT_ENCODING, 'gzip'); // 设置使用gzip压缩
curl_setopt($ch, CURLOPT_DNS_CACHE_TIMEOUT, 3600); // 设置DNS缓存时间为1小时
$mh = curl_multi_init();
$handles = array($ch1, $ch2, ...); // 多个curl资源句柄
foreach ($handles as $ch) {
curl_multi_add_handle($mh, $ch);
}
$running = null;
do {
curl_multi_exec($mh, $running);
} while ($running > 0);
curl_multi_close($mh);
通过以上优化方法,可以尝试提高curl_init做接口请求的效率和性能。根据实际情况,可能需要结合具体的接口、网络环境和服务器设置等因素进行调整和优化。