Ce face curl_multi_add_handle
Cererea se configurează normal (URL, CURLOPT_RETURNTRANSFER, timp limită), apoi se adaugă în grup. Nu apelezi curl_exec pe ea: rularea se face prin curl_multi_exec.
O cerere poate fi într-un singur grup o dată. Pentru a o refolosi, scoate-o cu curl_multi_remove_handle.
Parametri
| Parametru | Descriere |
|---|---|
$multi_handle |
Grupul. |
$handle |
Cererea adăugată. |
Ce returnează
0 (CURLM_OK) la succes, sau un cod de eroare CURLM_*.
Exemple
Exemplul 1: Adăugarea și numărarea cererilor
<?php
$mh = curl_multi_init();
foreach (["https://www.dexblog.ro/", "https://www.dexblog.ro/invata/"] as $url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo curl_multi_add_handle($mh, $ch) . "\n";
}
echo count(curl_multi_get_handles($mh)) . " cereri în grup";
Rezultat
0
0
2 cereri în grup
Greșeli frecvente
- Adaugi aceeași cerere de două ori. Al doilea apel returnează codul 7 („already added”).
Comenzi înrudite
curl_multi_init: Creează un grup în care mai multe cereri cURL rulează în paralel, în loc să aștepte una după alta.curl_multi_remove_handle: Scoate o cerere dintr-un grup de cereri paralele, după ce s-a terminat sau ca să o anulezi.curl_multi_exec: Avansează toate cererile dintr-un grup cURL și spune câte mai rulează. Se apelează într-o buclă până la final.