我的api调用数组中有大约2k的数据,并且我正在使用curl_multi_exec来执行此操作。现在,max_execution_time总是可以命中500次,并且尽可能不使用set_time_limit?我还尝试通过一次传递100-300个数据来对数组进行分块,因为我认为请求将被分割,每个都有时间限制。
是否有更好的方法来处理我的请求?我已经读过关于将sleep()放入循环中的信息,尽管我不确定这是否是一种好方法。谢谢您的帮助。
我将此代码作为参考(this)
$multiCurl = array();
$result = array();
$mh = curl_multi_init();
foreach ($ids as $i => $id) {
$fetchURL = 'https://webkul.com&customerId='.$id;
$multiCurl[$i] = curl_init();
curl_setopt($multiCurl[$i], CURLOPT_URL,$fetchURL);
curl_setopt($multiCurl[$i], CURLOPT_HEADER,0);
curl_setopt($multiCurl[$i], CURLOPT_RETURNTRANSFER,1);
curl_multi_add_handle($mh, $multiCurl[$i]);
}
$index=null;
do {
curl_multi_exec($mh,$index);
} while($index > 0);
foreach($multiCurl as $k => $ch) {
$result[$k] = curl_multi_getcontent($ch);
curl_multi_remove_handle($mh, $ch);
}
curl_multi_close($mh);