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

# curl_multi_select

(PHP 5, PHP 7, PHP 8)

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

### Описание

function 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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open