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);
?>
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
curl_multi_setopt — Définit une option multiple cURL
Définit une option sur le gestionnaire multi cURL donnée.
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 :
CURL_PUSH_OK si il peut gérer le push, ou
CURL_PUSH_DENY pour le rejeter.
|
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
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 .
|
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);
?>