Если я правильно понял Ваш вопрос (на будущее, оставляйте свои примеры кода, чтобы было проще разобраться), то можете использовать функцию curl_multi_exec
, чтобы ускорить процесс отправки запросов. Она позволяет выполнять несколько запросов curl
одновременно, вместо того, чтобы отправлять их по одному.
Пример кода:
<?php
$user_ids = [1, 2, 3, 4, 5];
$results = [];
// Инициализируем мультисессию
$mh = curl_multi_init();
$handles = [];
foreach ($user_ids as $id) {
// Инициализируем отдельный сеанс cURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://example.com/api/users/$id");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Добавляем сеанс в мультисессию
curl_multi_add_handle($mh, $ch);
$handles[] = $ch;
}
// Запускаем мультисессию
$running = null;
do {
curl_multi_exec($mh, $running);
curl_multi_select($mh);
} while ($running > 0);
foreach ($handles as $ch) {
$results[] = curl_multi_getcontent($ch);
curl_multi_remove_handle($mh, $ch);
curl_close($ch);
}
// Закрываем мультисессию
curl_multi_close($mh);
// Выводим результаты
print_r($results);
?>