(PHP 5, PHP 7)
curl_multi_exec — Geçerli cURL tanıtıcısının alt bağlantılarını çalıştırır
$cct
, int &$hala_çalışıyor
)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.
cct
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.
Örnek 1 - curl_multi_exec() örneği
Bu örnekte iki cURL tanıtıcısı oluşturulmakta, bunlar çoklu tanıtıcıya eklenerek birlikte ç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://lxr.php.net/");
curl_setopt($ct1, CURLOPT_HEADER, 0);
curl_setopt($ct2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ct2, CURLOPT_HEADER, 0);
// Çokul 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);
$active = null;
// Tanıtıcıları çalıştıralım
do {
$mrc = curl_multi_exec($cct, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ($active && $mrc == CURLM_OK) {
if (curl_multi_select($cct) != -1) {
do {
$mrc = curl_multi_exec($cct, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
// tanıtıcıları kapatalım
curl_multi_remove_handle($cct, $ct1);
curl_multi_remove_handle($cct, $ct2);
curl_multi_close($cct);
?>