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 实例传递给此函数,将会返回指定套接字发生的最后一个错误。如果 socketnull, 则返回最后一个失败的套接字函数的错误码。此函数对以下情况特别有帮助: socket_create() 失败时不会返回套接字,以及 socket_select() 失败的原因与特定套接字没有直接联系。 错误码适合提供给 socket_strerror(),将返回指定错误码的字符串描述。

如果没有错误或者已经使用 socket_clear_error() 清除了错误,则函数返回 0

参数

socket

通过 socket_create() 创建的 Socket 实例。

返回值

此函数返回套接字错误码。

更新日志

版本 说明
8.0.0 现在 socketSocket 实例, 之前是 resource
8.0.0 socket 现在可为空(nullable)。

示例

示例 #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(
"Couldn't create socket: [$errorcode] $errormsg");
}
?>

注释

注意:

socket_last_error() 不会清除错误代码,如果需要可以使用 socket_clear_error() 清除。