SunshinePHP 2020 CFP Started

curl_multi_setopt

(PHP 5 >= 5.5.0, PHP 7)

curl_multi_setoptSetz eine Option für das cURL multi-Handle

Beschreibung

curl_multi_setopt ( resource $mh , int $option , mixed $value ) : bool

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

mh

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 Set value to
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_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:
pushfunction ( resource $parent_ch , resource $pushed_ch , array $headers ) : int
parent_ch

Das Eltern-cURL-Handle (der vom Client durchgeführte Request).

pushed_ch

Ein neues cURL-Handle für den gepushten Request.

headers

Die Push-Promise-Header.

Die Push-Funktion soll entweder CURL_PUSH_OK, falls es den Push behandeln kann, oder CURL_PUSH_DENY, um diesen zurückzuweisen, zurückgeben.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version Beschreibung
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.

add a note add a note

User Contributed Notes 1 note

up
2
ryosuke_i_628 at yahoo dot co dot jp
3 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