(PHP 5, PHP 7, PHP 8)
curl_multi_exec — Geçerli cURL tanıtıcısının alt bağlantılarını çalıştırır
Yığıttaki her tanıtıcıyı işleme sokar. Bir tanıtıcının okuma veya yazma ihtiyacı olsa da olmasa da bu yöntem çağrılabilir.
tanıtıcı
curl_multi_init() işlevinden dönen çoklu cURL tanıtıcısı.
hala_çalışıyor
İşlemin hala sürüp sürmediğini belirten bir seçeneğe gönderimdir.
Bir cURL sabiti döner.
Bilginize:
Hatalar sadece çoklu tanıtıcı ile ilgilidir. Bu işlev
CURLM_OK
döndürse bile tekil oturumların bazılarında bazı sorunlar oluşmuş olabilir.
Sürüm: | Açıklama |
---|---|
8.0.0 | çoklu_tanıtıcı artık bir CurlMultiHandle örneği bekliyor; evvelce resource türünde bir değer beklenirdi. |
Örnek 1 - curl_multi_exec() örneği
Bu örnekte iki cURL tanıtıcısı oluşturulmakta, bunlar çoklu tanıtıcıya eklenerek eşzamanlı çalıştırılmaktadır.
<?php
// Tekil cURL özkaynaklarını oluşturalım
$ct1 = curl_init();
$ct2 = curl_init();
// URL'yi ve ilgili seçenekleri belirtelim
curl_setopt($ct1, CURLOPT_URL, "http://example.com/");
curl_setopt($ct1, CURLOPT_HEADER, 0);
curl_setopt($ct2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ct2, CURLOPT_HEADER, 0);
// Çoklu cURL özkaynağını oluşturalım
$cct = curl_multi_init();
// Tekil tanıtıcıları çoklu tanıtıcıya ekleyelim
curl_multi_add_handle($cct,$ct1);
curl_multi_add_handle($cct,$ct2);
// çoklu tanıtıcı çalıştıralım
do {
$status = curl_multi_exec($cct, $active);
if ($active) {
//daha fazla etkinlik için kısa süre bekle
curl_multi_select($cct);
}
} while ($active && $status == CURLM_OK);
// tanıtıcıları kapatalım
curl_multi_remove_handle($cct, $ct1);
curl_close($ct1);
curl_multi_remove_handle($cct, $ct2);
curl_close($ct2);
curl_multi_close($cct);
?>