0
我正在用curl_multi_exec做一些請求。我的代碼如下所示:有時curl_multi_exec重複請求
$rMultiHandler = curl_multi_init();
//next lines are repeated for several resources
$rResource = curl_init();
curl_setopt($rResource, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($rResource, CURLOPT_URL, $url);
curl_setopt($rResource, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($rResource, CURLOPT_TIMEOUT, 1800);
curl_setopt($rResource, CURLOPT_SSL_VERIFYPEER, false);
curl_multi_add_handle($rMultiHandler, $rResource);
//-----------------------
$iRunningProcesses = null;
do {
curl_multi_exec($rMultiHandler, $iRunningProcesses);
usleep(100000);
} while ($iRunningProcesses > 0);
//do some work with received data;
curl_multi_close($rMultiHandler);
問題是這些請求很耗時(5-10分鐘)。有時這些請求中的一個(最長)會重複兩次。似乎curl等待數據,沒有收到任何內容並重復請求。 我該如何解決這個問題?