socket_strerror() converts a numeric sockets error code to the platform's descriptive error text.
What It Does
socket_strerror() converts a numeric sockets error code to the platform's descriptive error text. The following examples distinguish a normal use case, a boundary case and a practical application.
Requirements and Compatibility
The sockets extension; network code must handle partial I/O, blocking and platform error codes.
Syntax, Parameters and Return Value
socket_strerror(int $error_code): string
Pass an error number obtained through socket_last_error(), not a string error message.
Example 1: Basic Behavior
Convert a known connection-refused error code to readable text.
<?php
echo socket_strerror(SOCKET_ECONNREFUSED);
Example 2: Another Case
Read per-socket error state before converting the error code.
<?php
$s = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$number = socket_last_error($s);
if ($number !== 0) error_log(socket_strerror($number));
socket_close($s);
Practical Example: Putting It to Use
Use the error description internally instead of exposing it in HTTP output.
<?php
$number = SOCKET_EACCES;
$message = socket_strerror($number);
echo is_string($message) ? 'Readable error available' : 'Unknown error';
Important Behavior and Edge Cases
Retrieve an error code from socket_last_error() before it is reset or overwritten.
Comparison with Related Functions or Approaches
| Option | What it means in practice |
|---|---|
| socket_strerror() Function | socket_strerror() converts a numeric sockets error code to the platform's descriptive error text. |
| Related approach | Use socket_clear_error() to reset the socket's recorded error state after handling it. |
Common Beginner Mistakes
| Mistake | Correct approach |
|---|---|
| Ignoring the important boundary for socket_strerror() Function | Retrieve an error code from socket_last_error() before it is reset or overwritten. |
| Assuming a related mechanism has the same behavior | Use socket_clear_error() to reset the socket's recorded error state after handling it. |
Key Takeaways
- socket_strerror() converts a numeric sockets error code to the platform's descriptive error text.
- Retrieve an error code from socket_last_error() before it is reset or overwritten.
- Use socket_clear_error() to reset the socket's recorded error state after handling it.
Before adapting these examples, verify the return values, test the failure paths and confirm that your application meets its security and environment requirements.