(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_last_error — Возвращает последнюю ошибку сокета
Функция возвращает последнюю ошибку, которая возникла в конкретном сокете,
если в функцию передали экземпляр класса Socket.
Функция вернёт код ошибки последней неудачной функции сокета,
если для параметра socket
указали значение null
.
Последнее особенно полезно для функций наподобие
socket_create(), которые не возвращают сокет, если возникла ошибка,
или socket_select(), которые иногда завершаются неудачно
по причинам, которые не связаны непосредственно с конкретным сокетом. Код ошибки
передают в функцию socket_strerror(), чтобы получить
строку с описанием кода ошибки.
Функция вернёт 0
, если ошибки не возникали
или их очистили функцией socket_clear_error().
Функция возвращает код ошибки сокета.
Версия | Описание |
---|---|
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().