curl_multi_setopt

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_multi_setoptDéfinit une option multiple cURL

Description

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

Définit une option sur le gestionnaire multi cURL donnée.

Liste de paramètres

multi_handle

Un gestionnaire cURL multiple retourné par curl_multi_init().

option

Une des constantes CURLMOPT_*.

value

La valeur à définir pour le paramètre option.

value doit être un int pour les valeurs suivantes du paramètres option :

Option Définit le paramètre value à
CURLMOPT_PIPELINING 1 pour activer, 0 pour désactiver. L'activation du pipelining sur un gestionnaire multiple va faire qu'il va tenter de réaliser un pipelining HTTP autant que possible pour les transferts utilisant ce gestionnaire. Cela signifie que, si vous ajouter un second gestionnaire qui peut utiliser une connexion exis À partir de cURL 7.43.0, la valeur est un masque de bit, et il est possible de passer 2 pour tenter de multiplex le nouveau transfert via une connexion HTTP/2 existante si possible. Passer 3 ordonne à cURL de demander pour le pipelining et le multiplexing indépendant l'un de l'autre. À partir de cURL 7.62.0, définir le bit de pipelining n'a aucun effet. Au lieu d'entier litérals, les constantes CURLPIPE_* peuvent être utilisé si disponible.
CURLMOPT_MAXCONNECTS Nombre maximal de connexions ouvertes simultanément que libcurl peut mettre en cache. Par défaut, la taille sera élargie pour rentrer quatre fois le nombre de gestionnaires ajouté grâce à curl_multi_add_handle(). Lorsque le cache est complet, curl ferme la plus ancienne connexion du cache, afin d'éviter que le nombre de connexions ouvertes n'augmente.
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE Passe un nombre qui définit le seuil de la longeur des tranches pour le pipelining en octets.
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE Passe un nombre qui définit le seuil de la taille pour les pénalités de pipelining en octets.
CURLMOPT_MAX_CONCURRENT_STREAMS Le nombre défini sera utilisé comme le nombre maximal de flux simultanés pour une connexion que cURL devrait prendre en charge sur les connexions effectuées à l'aide de HTTP/2. Les valeurs valides vont de 1 à 2147483647 (2^31 - 1). La valeur transmise ici sera respectée en fonction des autres propriétés des ressources du système. La valeur par défaut est 100.
CURLMOPT_MAX_HOST_CONNECTIONS Passe un nombre qui définit le nombre maximal de connexion à un hôte unique.
CURLMOPT_MAX_PIPELINE_LENGTH Passe un nombre qui définit le nombre maximal de requête dans une pipeline.
CURLMOPT_MAX_TOTAL_CONNECTIONS Passe un nombre qui définit le nombre maximal de connexions simultanées ouvertes.
CURLMOPT_PUSHFUNCTION Passe une fonction de rappel qui sera déclarée pour gérer les pushs serveurs et devrait avoir la signature suivante :
pushfunction(resource $parent_ch, resource $pushed_ch, array $headers): int
parent_ch

Le gestionnaire cURL parent (la requête que le client a faite).

pushed_ch

Un nouveau gestionnaire cURL pour les requêtes pushées.

headers

Les en-têtes de promise de push.

La fonction de push est supposé de retourner soit CURL_PUSH_OK si il peut gérer le push, ou CURL_PUSH_DENY pour le rejeter.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Historique

Version Description
8.2.0 Ajout de CURLMOPT_MAX_CONCURRENT_STREAMS.
8.0.0 multi_handle attend désormais une instance de CurlMultiHandle; auparavant; une resource était attendue.
7.1.0 Ajout de CURLMOPT_PUSHFUNCTION.
7.0.7 Ajout de CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH et CURLMOPT_MAX_TOTAL_CONNECTIONS.

add a note add a note

User Contributed Notes 1 note

up
0
ryosuke_i_628 at yahoo dot co dot jp
8 years ago
If you want to enable both HTTP/1.1 pipelining and HTTP/2 multiplexing...

<?php
curl_multi_setopt
($mh, CURLMOPT_PIPELINING, 3);
?>

or

<?php
curl_multi_setopt
($mh, CURLMOPT_PIPELINING, CURLPIPE_HTTP1 | CURLPIPE_MULTIPLEX);
?>
To Top