使用curl_multi_exec运行curl的并行处理程序

时间:2012-06-04 14:47:31

标签: php curl curl-multi

为什么在这段代码中我需要调用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网站

中提取的

1 个答案:

答案 0 :(得分:0)

答案在curl_multi_exec()

令人沮丧的是,PHP的文档在某些方面可能毫无用处......