(PHP 5 >= 5.5.0, PHP 7, PHP 8)
curl_multi_setopt — Устанавливает опции множественного дескриптора cURL
Устанавливает опции множественного дескриптора 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. Диапазон допустимых значений — от 1 до 2147483647 (2^31 - 1 ). Переданное для этой опции значение будет основано с учётом других свойств системных ресурсов. Значение по умолчанию — 100 . |
CURLMOPT_MAX_HOST_CONNECTIONS | Величина, определяющая максимальное количество соединений с одним хостом. |
CURLMOPT_MAX_PIPELINE_LENGTH | Величина, определяющая максимальное количество запросов в конвейере. |
CURLMOPT_MAX_TOTAL_CONNECTIONS | Величина, определяющая максимальное количество одновременно открытых соединений. |
CURLMOPT_PUSHFUNCTION | Передаёт callable, который будет зарегистрирован для обработки пушей от сервера и должен иметь следующую сигнатуру:
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 . |