为什么在这段代码中我需要调用 2 次 curl_multi_exec 函数。
在第一个循环中,我正在执行 curl_multi_exec 处理程序以运行子处理程序。当 CURLM_CALL_MULTI_PERFORM 与 $mrc 不同时,循环结束。
在第二个循环中,我们从 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站点