PHP Conference Nagoya 2025

socket_clear_error

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

socket_clear_errorLimpia el error del socket o el último código de error

Descripción

socket_clear_error(resource $socket = ?): void

Esta función limpia el código de error del socket dado o el último error global de socket si no se especifica un socket.

Esta función permite reiniciar explícitamente el valor del código de error de un socket o del último código de error global de extensión. Puede ser útil para detectar si ocurrió un error dentro de una parte de la aplicación.

Parámetros

socket

Un recurso socket válido creado con socket_create().

Valores devueltos

No devuelve ningún valor.

Ver también

add a note

User Contributed Notes 2 notes

up
0
raphael at engenhosweb dot com dot br
13 years ago
You can do this too, with anonymous function:
<?php
$socket
= @socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or function() {
$errstr = socket_strerror(socket_last_error());
echo (
"Failed to create socket: " . $errstr);
socket_clear_error();
};
?>
up
0
ludvig dot ericson at gmail dot com
18 years ago
If you want to clear your error in a small amount of code, do a similar hack as to what most people do in SQL query checking,
<?php
$result
= mysql_query($sql) or die(/* Whatever code */);
?>

It could look like this:
<?php
if (!($socket = socket_create(/* Whatever code */)) {
echo (
"Failed to create socket: " . socket_strerror(socket_last_error()) and socket_clear_error());
}
?>

As you can see, I use "and" here instead of "or" since the first part will always return true, thus if you use or PHP's lazy boolean checking will not execute the last part, which it will with an and if the first part is true.
To Top