# socket_last_error

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

socket_last_error — Lit la dernière erreur générée par un socket

### Description

socket_last_error(?Socket `$socket` = `null`): int

Si une instance de Socket est passée à cette fonction, la dernière erreur qui aura été générée par ce socket sera retourné. Si `socket` est `null`, le dernier code d'erreur généré est retourné. Ce comportement est particulièrement pratique pour des fonctions comme socket_create() qui ne retournent pas de socket en cas d'échec, et socket_select() qui peut échouer sans raison directement liée au socket. Le code d'erreur peut être transmis à socket_strerror() qui retourne un message d'erreur lisible.

Si aucune erreur n'est survenue, ou si l'erreur a été supprimée avec la fonction socket_clear_error(), cette fonction retournera `0`.

### Liste de paramètres

`socket`

  Une instance de Socket créée par socket_create().

### Valeurs de retour

Retourne le code erreur associé au socket.

### Historique

Version | Description
--- | ---
8.0.0 | `socket` est désormais une instance de Socket ; auparavant, c'était une resource.
8.0.0 | `socket` est désormais nullable.

### Exemples

Exemple #1 Exemple avec 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("Impossible de créer le socket : [$errorcode] $errormsg");
}
?>`

### Notes

> Note:

> socket_last_error() n'efface pas le code d'erreur. Utilisez plutôt la fonction socket_clear_error() pour cela.