(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_last_error — Returns the last error on the socket
   If a Socket instance is passed to this function, the last error which
   occurred on this particular socket is returned. If socket is
   null, the error code of the last failed socket function is returned.
   The latter is particularly helpful for functions like
   socket_create() which don't return a socket on
   failure and socket_select() which can fail for reasons
   not directly tied to a particular socket.  The error code is suitable to
   be fed to socket_strerror() which returns a string
   describing the given error code.
  
   If no error had occurred, or the error had been cleared with
   socket_clear_error(), the function returns 0.
  
This function returns a socket error code.
| Version | Description | 
|---|---|
| 8.0.0 | socketis a Socket instance now;
   previously, it was a resource. | 
| 8.0.0 | socketis nullable now. | 
Example #1 socket_last_error() example
<?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");
}
?>
Note:
socket_last_error() does not clear the error code, use socket_clear_error() for this purpose.