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 — Setzt eine cURL-Multi-Option
Setzt eine Option für das angegebene cURL-Multi-Handle.
multi_handle
Ein von curl_multi_init() zurückgegebenes cURL-Multihandle.
option
Eine der CURLMOPT_*
Konstanten.
value
Der zu option
zu setzende Wert.
value
sollte ein int sein für die
folgenden Werte der option
Parameter:
Option | value setzen auf |
---|---|
CURLMOPT_PIPELINING |
Übergib 1 zum aktivieren oder 0 zum deaktivieren. Das Aktivieren von multi-Handles wird zu dem Versuch führen, PHP Pipelining so weit wie es für Transfers, die dieses Handle verwenden, möglich ist. Das bedeutet, dass wenn Sie eine zweite Anfrage hinzufügen, die eine bereits existierende Verbindung verwendet, wird diese auf der selben Verbindung "gepiped". Von cURL 7.43.0 an ist der Wert eine Bitmaske, und es kann ebenfalls 2 übergeben werden, um zu versuchen, den neuen Transfer über eine bestehende HTTP/2 Verbindung zu multiplexen, falls möglich. Das Übergeben von 3 weist cURL an, Pipelining und Multiplexing unabhängig voneinander zu versuchen. Von cURL 7.62.0 an hat das Setzen des Pipelining-Bit keine Wirkung. Anstelle der Interger-Literale können ebenfalls die CURLPIPE_* Konstanten verwendet werden, falls verfügbar. |
CURLMOPT_MAXCONNECTS |
Übergeben Sie eine Zahl, die als die maximale Menge an gleichzeitig geöffneten Verbindungen verwendet wird, die libcurl zwischenspeichern kann. Standardmäßig wird die Anzahl erhöht, so dass viermal soviele Verbindungen zwischengespeichert werden können, wie Handles mit curl_multi_add_handle() hinzugefügt wurden. Wenn der Cache gefüllt ist, schließt cURL die älteste Verbindung im Cache, um das Anwachsen der offenen Verbindungen zu vermeiden. |
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE |
Eine Zahl, die den Chunklängenschwellenwert für das Pipelining in Bytes angibt, ist zu übergeben. |
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE |
Eine Zahl, die den Größenschwellenwert für das Pipelining in Bytes angibt, ist zu übergeben. |
CURLMOPT_MAX_CONCURRENT_STREAMS |
Die angegebene Zahl wird als maximale Anzahl von gleichzeitigen
Streams für eine Verbindung verwendet, die cURL bei Verbindungen
über HTTP/2 unterstützen sollte. Gültige Werte reichen von
1 bis 2147483647
(2^31 - 1 ). Der hier übergebene Wert wird in
Abhängigkeit von anderen Eigenschaften der Systemressourcen
berücksichtigt. Standard ist 100 .
|
CURLMOPT_MAX_HOST_CONNECTIONS |
Eine Zahl, die die Höchstanzahl von Verbindungen zu einem einzelnen Host angibt, ist zu übergeben. |
CURLMOPT_MAX_PIPELINE_LENGTH |
Eine Zahl, die die Höchstanzahl von Requests in einer Pipeline angibt, ist zu übergeben. |
CURLMOPT_MAX_TOTAL_CONNECTIONS |
Einze Zahl, die die Höchstanzahl von gleichzeitig offenen Verbindungen angibt, ist zu übergeben. |
CURLMOPT_PUSHFUNCTION |
Ein callable, das registriert wird, um Server-Pushs zu behandeln, ist zu übergeben; es sollte folgende Signatur haben:
CURL_PUSH_OK zurückgeben, falls es den Push
behandeln kann, oder CURL_PUSH_DENY , um
diesen zurückzuweisen.
|
Version | Beschreibung |
---|---|
8.2.0 |
CURLMOPT_MAX_CONCURRENT_STREAMS wurde eingeführt.
|
8.0.0 |
multi_handle erwartet nun eine
CurlMultiHandle-Instanz; vorher wurde eine
Ressource erwartet.
|
7.1.0 |
CURLMOPT_PUSHFUNCTION wurde eingeführt.
|
7.0.7 |
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE ,
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE ,
CURLMOPT_MAX_HOST_CONNECTIONS ,
CURLMOPT_MAX_PIPELINE_LENGTH und
CURLMOPT_MAX_TOTAL_CONNECTIONS wurden eingeführt.
|
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);
?>