McBin

non_blocking_curl.php

<?php

function nonBlockingCurl($url) {
    $mh = curl_multi_init();
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_multi_add_handle($mh, $ch);
    
    $active = null;
    do {
        $mrc = curl_multi_exec($mh, $active);
    } while ($active > 0 && $mrc == CURLM_OK);
    
    $response = curl_multi_getcontent($ch);
    curl_multi_remove_handle($mh, $ch);
    curl_multi_close($mh);
    return $response;
}

// Usage in a loop or elsewhere
$url = 'https://example.com';
$result = nonBlockingCurl($url);
echo $result;
?>
Copied to clipboard!