为什么在这段代码中我需要调用 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 站点中提取的
答案在这里curl_multi_exec()。
这令人沮丧,因为 PHP 的文档在某些方面可能毫无用处......