Асинхронные запросы в PHP - PullRequest
       13

Асинхронные запросы в PHP

1 голос
/ 28 марта 2011

Мне нужно сгенерировать запросы к нескольким API, получить от них ответ и затем сгенерировать отчет.

как то так:

foreach($api_array as $api){
    echo $api;

    $responce = file_get_contents($api);

    if($responce) 
        echo 'ok <br/>';
    else 
        echo 'fail <br/>';
}

Очевидно, что при последовательном запуске, один за другим, потребуется ОЧЕНЬ много времени для ожидания ответа каждой службы.

Можно ли это сделать асинхронно, как в JavaScript? Большое спасибо!

Ответы [ 2 ]

2 голосов
/ 28 марта 2011

Для этого вы можете использовать curl_multi .

0 голосов
/ 28 марта 2011

Да, вы можете сделать это, используя curl_multi, который будет делать это параллельно.Вы также можете использовать обратный вызов для получения ответов, как в этом примере http://curl.haxx.se/libcurl/php/examples/callbacks.html

Также читайте подробнее о curl_multi здесь http://php.net/manual/en/function.curl-multi-init.php 2

...