<?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.5 $ --> <!-- splitted from ./en/functions/sockets.xml, last change in rev 1.8 --> <refentry id="function.socket-strerror"> <refnamediv> <refname>socket_strerror</refname> <refpurpose>Return a string describing a socket error</refpurpose> </refnamediv> <refsect1> <title>Description</title> <methodsynopsis> <type>string</type><methodname>socket_strerror</methodname> <methodparam><type>int</type><parameter>errno</parameter></methodparam> </methodsynopsis> &warn.experimental.func; <para> <function>socket_strerror</function> takes as its <parameter>errno</parameter> parameter a socket error code as returned by <function>socket_last_error</function> and returns the corresponding explanatory text. This makes it a bit more pleasant to figure out why something didn't work; for instance, instead of having to track down a system include file to find out what '-111' means, you just pass it to <function>socket_strerror</function>, and it tells you what happened. </para> <para> <example> <title><function>socket_strerror</function> example</title> <programlisting role="php"> <![CDATA[ <?php if (false == ($socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP))) { echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n"; } if (false == (@socket_bind($socket, '127.0.0.1', 80))) { echo "socket_bind() failed: reason: " . socket_strerror(socket_last_error($socket)) . "\n"; } ?> ]]> </programlisting> <para> The expected output from the above example (assuming the script is not run with root privileges): <screen> socket_bind() failed: reason: Permission denied </screen> </para> </example> </para> <para> See also <function>socket_accept</function>, <function>socket_bind</function>, <function>socket_connect</function>, <function>socket_listen</function>, and <function>socket_create</function>. </para> </refsect1> </refentry> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"../../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->