curl_multi_select

(PHP 5, PHP 7, PHP 8)

curl_multi_select Ждёт, пока хотя в одном соединении мультидескриптора cURL не станут возможными считывание или запись данных

Описание

curl_multi_select(CurlMultiHandle $multi_handle, float $timeout = 1.0): int

Функция блокирует выполнение скрипта до тех пор, пока хотя бы один cURL-дескриптор, который прикрепили к мультидескриптору cURL, не будет готов к следующему вызову функции curl_multi_exec() или пока не закончится время ожидания, в зависимости от того, что наступит раньше.

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

multi_handle

Мультидескриптор модуля cURL, который вернула функция curl_multi_init().

timeout

Время ожидания в секундах, в течение которого функция будет ждать ответа соединений мультидескриптора cURL, которые активизировались в силу готовности данных к передаче.

Возвращаемые значения

В случае успешного выполнения функция возвращает количество cURL-дескрипторов набора, для которых стала возможной передача данных. Функция возвращает 0, если ни один дескриптор в наборе не активизировался за время ожидания. При ошибке выбора дескрипторов функция вернёт значение -1, которое получила из нижележащего системного вызова select().

Ошибки

Функция выбрасывает ошибку ValueError, если значение параметра timeout меньше 0 или больше PHP_INT_MAX.

Список изменений

Версия Описание
8.4.0 Функция теперь выбрасывает ошибку ValueError, если значение параметра timeout меньше 0 или больше PHP_INT_MAX.
8.0.0 Параметр multi_handle теперь ожидает экземпляр класса CurlMultiHandle; раньше ожидался ресурс (resource).

Смотрите также

  • curl_multi_init() - Возвращает новый мультидескриптор модуля cURL