socket_last_error

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_last_errorВозвращает последнюю ошибку сокета

Описание

socket_last_error(?Socket $socket = null): int

Функция возвращает последнюю ошибку, которая возникла в конкретном сокете, если в функцию передали экземпляр класса Socket. Функция вернёт код ошибки последней неудачной функции сокета, если для параметра socket указали значение null. Последнее особенно полезно для функций наподобие socket_create(), которые не возвращают сокет, если возникла ошибка, или socket_select(), которые иногда завершаются неудачно по причинам, которые не связаны непосредственно с конкретным сокетом. Код ошибки передают в функцию socket_strerror(), чтобы получить строку с описанием кода ошибки.

Функция вернёт 0, если ошибки не возникали или их очистили функцией socket_clear_error().

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

socket

Экземпляр класса Socket, который создала функция socket_create().

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

Функция возвращает код ошибки сокета.

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

Версия Описание
8.0.0 Теперь параметр socket ожидает экземпляр класса Socket; раньше параметр ожидал ресурс (resource).
8.0.0 Параметр socket теперь принимает значение null.

Примеры

Пример #1 Пример возврата последней ошибки сокета функцией socket_last_error()

<?php

$socket
= @socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (
$socket === false) {
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);

die(
"Не могу создать сокет: [$errorcode] $errormsg");
}

?>

Примечания

Замечание:

Функция socket_last_error() не очищает код ошибки, для этой цели вызывают функцию socket_clear_error().