curl_multi_setopt

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

curl_multi_setopt - Встановлює опції множинного дескриптора cURL

Опис

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

Встановлює настройки множинного дескриптора cURL.

Список параметрів

multi_handle

Мультидескриптор cURL, отриманий з curl_multi_init()

option

Одна из констант**CURLMOPT_***

value

Значение, которое необходимо установить для параметраoption

Значение параметраvalue має бути цілим числом (int) для наступних значень параметра option :

ОпцияУстановить value в
CURLMOPT_PIPELINING1 для включення та 0 для відключення. Дозволяє конвеєр для множинного дескриптора, що приведе до спроби використовувати конвеєра HTTP, якщо це можливо, для передачі з використанням цього дескриптора. Це означає, що якщо ви додасте другий запит, який може використовувати вже існуюче з'єднання, він буде переданий "по конвеєру" цьому з'єднанню. Починаючи з cURL 7.43.0, значення є бітовою маскою і ви можете передати 2 для спроби мультиплікування нової передачі за допомогою існуючого з'єднання HTTP/2, якщо це можливо. Передача 3 інструктує cURL запитувати конвеєризацію та мультиплексування незалежно один від одного. Починаючи з cURL 7.62.0, установка біта конвеєра не має жодного ефекту. Замість чисельних значень можна використовувати константи CURLPIPE_*якщо вони доступні.
CURLMOPT_MAXCONNECTSЗадає кількість максимальної кількості одночасно відкритих з'єднань, які libcurl може закешувати. За замовчуванням це значення задається як число дескрипторів, доданих через curl_multi_add_handle(), помножене на 4. Коли кеш заповниться, curl закриє найстаріші з'єднання в кеші, запобігаючи збільшенню кількості відкритих з'єднань.
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZEЗадає граничне значення довжини пакета для конвеєра в байтах.
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZEЗадає граничне значення розміру для "штрафу" конвеєра в байтах.
CURLMOPT_MAX_CONCURRENT_STREAMSВстановлює максимальну кількість одночасних потоків для з'єднань, які cURL повинен підтримувати під час з'єднань за протоколом HTTP/2. Діапазон допустимих значень - від до21474836472^31 - 1). Передане для цієї опції значення буде засноване з урахуванням інших властивостей системних ресурсів. Значення за замовчуванням -
CURLMOPT_MAX_HOST_CONNECTIONSВеличина, що визначає максимальну кількість з'єднань з одним хостом.
CURLMOPT_MAX_PIPELINE_LENGTHРозмір, що визначає максимальну кількість запитів у конвеєрі.
CURLMOPT_MAX_TOTAL_CONNECTIONSВеличина, що визначає максимальну кількість одночасно відкритих з'єднань.
CURLMOPT_PUSHFUNCTIONПередає callable, який буде зареєстрований для обробки пушкою від сервера і повинен мати таку сигнатуру:
pushfunction(resource $parent_ch, resource $pushed_ch, array $headers): int

parent_ch

Батьківський обробник cURL (запит зроблений клієнтом).

pushed_ch

Новий обробник cURL для обробки гармат.

headers

Заголовки очікуваного пуша.

Функція має повертати CURL_PUSH_OK, якщо може обробити пуш, або **CURL_PUSH_DENY**якщо відхиляє його. |

Значення, що повертаються

Повертає true у разі успішного виконання або **false**в случае возникновения ошибки.

список змін

ВерсияОпис
8.2.0Добавлена константа**CURLMOPT_MAX_CONCURRENT_STREAMS**
8.0.0multi_handle тепер чекає екземпляр; раніше, очікувався ресурс (resource).
7.1.0Добавлена константа**CURLMOPT_PUSHFUNCTION**
7.0.7Додані константи CURLMOPT_CHUNK_LENGTH_PENALTY_SIZECURLMOPT_CONTENT_LENGTH_PENALTY_SIZECURLMOPT_MAX_HOST_CONNECTIONSCURLMOPT_MAX_PIPELINE_LENGTH і CURLMOPT_MAX_TOTAL_CONNECTIONS