yahyaaydin adlı üyeden alıntı: mesajı görüntüle
Belirtilen yöntem sunucunuzu aşırı yorar ve işlemleri sıraya koyarak daha uzun sürede sonuç verir. Bunun yerine curl_multi_init kullanmalısınız.

function fetchAndProcessUrls(array $urls, callable $f) {

    $multi = curl_multi_init();
    $reqs  = [];

    foreach ($urls as $url) {
        $req = curl_init();
        curl_setopt($req, CURLOPT_URL, $url);
        curl_setopt($req, CURLOPT_RETURNTRANSFER, true);
        curl_multi_add_handle($multi, $req);
        $reqs[] = $req;
    }

    // While we're still active, execute curl
    $active = null;

    // Execute the handles
    do {
        $mrc = curl_multi_exec($multi, $active);
    } while ($mrc == CURLM_CALL_MULTI_PERFORM);

    while ($active && $mrc == CURLM_OK) {
        if (curl_multi_select($multi) != -1) {
            do {
                $mrc = curl_multi_exec($multi, $active);
            } while ($mrc == CURLM_CALL_MULTI_PERFORM);
        }
    }

    // Close the handles
    foreach ($reqs as $req) {
        $f(curl_multi_getcontent($req));
        curl_multi_remove_handle($multi, $req);
    }
    curl_multi_close($multi);
}
Kullanımı ise;

fetchAndProcessUrls($urlArray, function($data) {
    echo $data;
}
Teşekkürler hocam. Peki bu işlemde $urlArray dizinini oluştururken linkleri tek tek girmek mi gerekiyor yoksa onuda döngüye alsak aynı işlem olmayacak mı?
Şu yüzden soruyorum. Alacağım sayfalar 500 sayfa civarında döngüye sokmadan çok zor görünüyor. Bilmediğim atladığım bi nokta varsa cahilliğime verin.