curl_multi_setopt în PHP

cURL și email PHP 5.5+

Setează o opțiune pentru un grup de cereri cURL paralele, de exemplu numărul maxim de conexiuni.

Sintaxă
curl_multi_setopt(CurlMultiHandle $multi_handle, int $option, mixed $value): bool

Ce face curl_multi_setopt

Opțiunile CURLMOPT_* se aplică întregului grup. Cele mai utile: CURLMOPT_MAX_TOTAL_CONNECTIONS (conexiuni simultane în total), CURLMOPT_MAX_HOST_CONNECTIONS (conexiuni simultane către același server) și CURLMOPT_PIPELINING (multiplexare HTTP/2).

Cererile peste limită nu sunt respinse, ci așteaptă la rând.

Parametri

Parametru Descriere
$multi_handle Grupul.
$option O constantă CURLMOPT_*.
$value Valoarea opțiunii.

Ce returnează

true la succes, false la eroare.

Exemple

Exemplul 1: Cel mult 2 conexiuni pe server

<?php
$mh = curl_multi_init();

var_dump(curl_multi_setopt($mh, CURLMOPT_MAX_HOST_CONNECTIONS, 2));
var_dump(curl_multi_setopt($mh, CURLMOPT_MAX_TOTAL_CONNECTIONS, 10));

Rezultat

bool(true)
bool(true)

Greșeli frecvente

  • Dai lui curl_multi_setopt o opțiune CURLOPT_* (de exemplu CURLOPT_TIMEOUT). Opțiunile cererilor se setează pe fiecare cerere, cu curl_setopt.

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_setopt_array: Setează mai multe opțiuni cURL dintr-o dată, dintr-un tablou. Codul devine mai scurt și mai ușor de citit.