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;
?>