В PHP 8.5 функция `socket_set_timeout` объявлена устаревшей
Начиная с PHP 8.5 функция socket_set_timeout официально объявлена устаревшей (deprecated). Это изменение — часть очистки ядра PHP от дублирующих псевдонимов и унификации функций для работы с потоками. Её прямой и полный аналог — функция stream_set_timeout.
Отказ от этого псевдонима завершает долгую эволюцию: изначально функция называлась set_socket_timeout, затем была переименована в socket_set_timeout, а в итоге возвращена к нейтральному и точному названию stream_set_timeout. В PHP 8.5 псевдоним socket_set_timeout окончательно помечен как устаревший, и при его вызове возникает предупреждение:
stream_set_timeout($server, 0, 1000);
// Предупреждение: Function socket_set_timeout() is deprecated since 8.5, use stream_set_timeout() insteadРекомендуемая замена
stream_set_timeout — это прямой аналог socket_set_timeout. Их параметры идентичны, а замена гарантирует полную обратную совместимость.
Чтобы обновить код, замените все вызовы socket_set_timeout на stream_set_timeout.
Сигнатура устаревшей функции socket_set_timeout
#[\Deprecated]
socket_set_timeout(
$stream,
int $seconds,
int $microseconds = 0
): boolСигнатура рекомендуемой функции stream_set_timeout
stream_set_timeout(
$stream,
int $seconds,
int $microseconds = 0
): boolПараметры обеих функций идентичны:
$stream— целевой поток.$seconds— секундная часть таймаута.$microseconds— микросекундная часть таймаута (опционально).
Возвращаемое значение: true в случае успеха, false при ошибке.
Это устаревание — один из шагов по модернизации языка. Подробнее со всеми изменениями PHP 8.5 можно ознакомиться в полном обзоре версии.