PHP cURL - Многопоточность

342
13 апреля 2018, 16:00

Помогите разобраться с многопоточностью в cURL, есть код ниже, он не работает, что не так?

for($i=1;$i<=100;$i++) {
    $urls[] = 'http://httpbin.org/get?i='.$i;
}

$multi = curl_multi_init();
$handels = [];

foreach($urls as $url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_multi_add_handle($multi, $ch);
    $handels[$url] = $ch;
}


$active = null;
do
{
    $mrc = curl_multi_exec($multi, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) 
{
    if(curl_multi_select($multi) == -1) {
        usleep(100);
    }
    do
    {
        $mrc = curl_multi_exec($multi, $active);
    } while ($mrc == CURLM_CALL_MULTI_PERFORM);
}


foreach($handels as $ch) {
    $html = curl_multi_getcontent($ch);
    var_dump($html);
    curl_multi_remove_handle($multi, $ch);
}

curl_multi_close($multi);
READ ALSO
Не работает UPDATE. Как быть?

Не работает UPDATE. Как быть?

Всем доброго времени сутокПонадобился код-счетчик посещений

220
Не подключается к ratched на Yii2

Не подключается к ratched на Yii2

Не знаю как подключится к серверу websocket на Yii2Делал все по инструкции:

291
Запуск скрипта php в nw.js [требует правки]

Запуск скрипта php в nw.js [требует правки]

Возможно запустить php в nwjs?

225
Как вывести данные из столбца?

Как вывести данные из столбца?

Есть несколько записей, под каждой кнопка, одна и тажеЖмём кнопку под любой записью, выводится колонка more именно для этой записи

272