array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.socket-last-error.php', 1 => 'socket_last_error', ), 'up' => array ( 0 => 'ref.sockets.php', 1 => 'Функции сокета', ), 'prev' => array ( 0 => 'function.socket-import-stream.php', 1 => 'socket_import_stream', ), 'next' => array ( 0 => 'function.socket-listen.php', 1 => 'socket_listen', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/sockets/functions/socket-last-error.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_last_error — Возвращает последнюю ошибку на сокете
Если экземпляр Socket передан этой функции, то возвращается последняя ошибка,
которая произошла на этом конкретном сокете. Если socket
не указан,
возвращается код ошибки последней неудавшейся функции сокетов.
Последнее особенно полезно для таких функций, как
socket_create(), которая не возвращает сокет в случае
неудачи и socket_select(), которая может закончиться неудачно по
причинам, не связанным непосредственно с каким-либо конкретным сокетом. Код ошибки
подходит для передачи функции socket_strerror(), которая возвращает
строку, описывающую указанный код ошибки.
Если ошибок нет или они были очищены функцией socket_clear_error(),
функция вернёт 0
.
Эта функция возвращает код ошибки сокета.
Версия | Описание |
---|---|
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() для этой цели.