PHpullh
학습 라이브러리/PHP/curl_multi 로 병렬 요청

PHP · 비동기/동시성

curl_multi 로 병렬 요청

가벼운 병렬 HTTP 호출이 필요할 때 가장 먼저 떠올릴 수 있는 curl_multi 예제입니다.

비동기/동시성중급curl_multihttpparallel

핵심 설명

가벼운 병렬 HTTP 호출이 필요할 때 가장 먼저 떠올릴 수 있는 curl_multi 예제입니다.

PHP code

<?php
$urls = ['https://example.com', 'https://example.org'];
$multi = curl_multi_init();
$handles = [];

foreach ($urls as $url) {
    $ch = curl_init($url);
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT => 3,
    ]);
    curl_multi_add_handle($multi, $ch);
    $handles[] = $ch;
}

do {
    curl_multi_exec($multi, $running);
    curl_multi_select($multi);
} while ($running > 0);

echo count($handles);

학습 팁

PHP의 동시성 예제는 어떤 확장이나 런타임이 필요한지 먼저 확인한 뒤 따라 하면 시행착오를 줄일 수 있습니다.

주의할 점

curl 확장이 설치되어 있지 않으면 예제 자체가 동작하지 않습니다.

자주 묻는 질문

curl_multi 로 병렬 요청란 무엇인가요?

가벼운 병렬 HTTP 호출이 필요할 때 가장 먼저 떠올릴 수 있는 curl_multi 예제입니다.

curl_multi 로 병렬 요청 학습 시 주의할 점은 무엇인가요?

curl 확장이 설치되어 있지 않으면 예제 자체가 동작하지 않습니다.