このコードでは、curl_multi_exec 関数を 2 回呼び出す必要があるのはなぜですか。
最初のループで、curl_multi_exec ハンドラを実行してサブ ハンドラを実行しています。CURLM_CALL_MULTI_PERFORM が $mrc と異なる場合、ループは終了します。
2 番目のループでは、curl ハンドラからの結果が検出され、最初のループが再び実行されます。
<?php
do {
$mrc = curl_multi_exec($multiHandle, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ($active && $mrc == CURLM_OK) {
if (curl_multi_select($multiHandle, $timeout) != -1) {
do {
$mrc = curl_multi_exec($multiHandle, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
?>
コードはPHP-Docサイトから抽出されました