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_PIPELINING | 1 для включення та 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. Діапазон допустимих значень - від до2147483647 2^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.0 | multi_handle тепер чекає екземпляр; раніше, очікувався ресурс (resource). |
7.1.0 | Добавлена константа**CURLMOPT_PUSHFUNCTION ** |
7.0.7 | Додані константи CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE CURLMOPT_MAX_HOST_CONNECTIONS CURLMOPT_MAX_PIPELINE_LENGTH і CURLMOPT_MAX_TOTAL_CONNECTIONS |