mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-16 00:48:54 +00:00

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@156188 c90b9560-bf6c-de11-be94-00142212c4b1
217 lines
7.5 KiB
XML
217 lines
7.5 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!-- $Revision: 1.8 $ -->
|
|
<appendix id="transports">
|
|
<title>List of Supported Socket Transports</title>
|
|
<para>
|
|
The following is a list of the various URL style socket transports
|
|
that PHP has built-in for use with the streams based socket
|
|
functions such as <function>fsockopen</function>, and
|
|
<function>stream_socket_client</function>. These transports do
|
|
<emphasis>not</emphasis> apply to the
|
|
<link linkend="ref.sockets">Sockets Extension</link>.
|
|
</para>
|
|
|
|
<para>
|
|
For a list of transports installed in your version of
|
|
<literal>PHP</literal> use <function>stream_get_transports</function>.
|
|
</para>
|
|
|
|
<section id="transports.inet">
|
|
<title>Internet Domain: TCP, UDP, SSL, and TLS</title>
|
|
<simpara>PHP 3, PHP 4. <literal>ssl://</literal> & <literal>tls://</literal> since PHP 4.3</simpara>
|
|
|
|
<note>
|
|
<simpara>
|
|
If no transport is specified, <literal>tcp://</literal> will be assumed.
|
|
</simpara>
|
|
</note>
|
|
|
|
<itemizedlist>
|
|
<listitem><simpara><literal>127.0.0.1</literal></simpara></listitem>
|
|
<listitem><simpara><literal>fe80::1</literal></simpara></listitem>
|
|
<listitem><simpara><literal>www.example.com</literal></simpara></listitem>
|
|
<listitem><simpara><literal>tcp://127.0.0.1</literal></simpara></listitem>
|
|
<listitem><simpara><literal>tcp://fe80::1</literal></simpara></listitem>
|
|
<listitem><simpara><literal>tcp://www.example.com</literal></simpara></listitem>
|
|
<listitem><simpara><literal>udp://www.example.com</literal></simpara></listitem>
|
|
<listitem><simpara><literal>ssl://www.example.com</literal></simpara></listitem>
|
|
<listitem><simpara><literal>tls://www.example.com</literal></simpara></listitem>
|
|
</itemizedlist>
|
|
|
|
<simpara>
|
|
Internet Domain sockets expect a port number in addition
|
|
to a target address. In the case of <function>fsockopen</function>
|
|
this is specified in a second parameter and therefore does
|
|
not impact the formatting of transport URL. With
|
|
<function>stream_socket_client</function> and related functions
|
|
as with traditional URLs however, the port number is specified
|
|
as a suffix of the transport URL delimited by a colon.
|
|
</simpara>
|
|
|
|
<itemizedlist>
|
|
<listitem><simpara><literal>tcp://127.0.0.1:80</literal></simpara></listitem>
|
|
<listitem><simpara><literal>tcp://[fe80::1]:80</literal></simpara></listitem>
|
|
<listitem><simpara><literal>tcp://www.example.com:80</literal></simpara></listitem>
|
|
</itemizedlist>
|
|
|
|
<note>
|
|
<title>IPv6 numeric addresses with port numbers</title>
|
|
<simpara>
|
|
In the second example above, while the IPv4 and hostname
|
|
examples are left untouched apart from the addition of
|
|
their colon and portnumber, the IPv6 address is wrapped in
|
|
square brackets: <literal>[fe80::1]</literal>. This is to
|
|
distinguish between the colons used in an IPv6 address and
|
|
the colon used to delimit the portnumber.
|
|
</simpara>
|
|
</note>
|
|
|
|
<simpara>
|
|
The <literal>ssl://</literal> and <literal>tls://</literal> transports
|
|
(available only when openssl support is compiled into PHP) are extensions
|
|
of the <literal>tcp://</literal> transport which includes SSL encryption.
|
|
Since <literal>PHP 4.3.0</literal> OpenSSL support must be statically
|
|
compiled into <literal>PHP</literal>, since <literal>PHP 5.0.0</literal>
|
|
it may be compiled as a module or statically.
|
|
</simpara>
|
|
|
|
<para>
|
|
<table>
|
|
<title>
|
|
Context options for <literal>ssl://</literal> and <literal>tls://</literal>
|
|
transports (since <literal>PHP 4.3.2</literal>)
|
|
</title>
|
|
<tgroup cols="3">
|
|
<thead>
|
|
<row>
|
|
<entry>Name</entry>
|
|
<entry>Usage</entry>
|
|
<entry>Default</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry><literal>verify_peer</literal></entry>
|
|
<entry>
|
|
&true; or &false;.
|
|
Require verification of SSL certificate used.
|
|
</entry>
|
|
<entry>&false;</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>allow_self_signed</literal></entry>
|
|
<entry>
|
|
&true; or &false;.
|
|
Allow self-signed certificates.
|
|
</entry>
|
|
<entry>&false;</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>cafile</literal></entry>
|
|
<entry>
|
|
Location of Certificate Authority file on local filesystem
|
|
which should be used with the <literal>verify_peer</literal>
|
|
context option to authenticate the identity of the remote peer.
|
|
</entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>capath</literal></entry>
|
|
<entry>
|
|
If <literal>cafile</literal> is not specified or if the certificate
|
|
is not found there, the directory pointed to by <literal>capath</literal>
|
|
is searched for a suitable certificate. <literal>capath</literal>
|
|
must be a correctly hashed certificate directory.
|
|
</entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>local_cert</literal></entry>
|
|
<entry>
|
|
Path to local certificate file on filesystem. It must be a PEM
|
|
encoded file which contains your certificate and private key.
|
|
It can optionally contain the certificate chain of issuers.
|
|
</entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>passphrase</literal></entry>
|
|
<entry>
|
|
Passphrase with which your <literal>local_cert</literal> file
|
|
was encoded.
|
|
</entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>CN_match</literal></entry>
|
|
<entry>
|
|
Common Name we are expecting. PHP will perform limited wildcard
|
|
matching. If the Common Name does not match this, the connection
|
|
attempt will fail.
|
|
</entry>
|
|
<entry></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</para>
|
|
|
|
<note>
|
|
<simpara>
|
|
Because <literal>ssl://</literal> is the underlying transport for the
|
|
<link linkend="wrappers.http"><literal>https://</literal></link> and
|
|
<link linkend="wrappers.ftp"><literal>ftps://</literal></link> wrappers,
|
|
any context options which apply to <literal>ssl://</literal> also apply to
|
|
<literal>https://</literal> and <literal>ftps://</literal>.
|
|
</simpara>
|
|
</note>
|
|
</section>
|
|
|
|
<section id="transports.unix">
|
|
<title>Unix Domain: Unix and UDG</title>
|
|
<simpara>
|
|
<literal>unix://</literal> since <literal>PHP 3</literal>,
|
|
<literal>udg://</literal> since <literal>PHP 5</literal>
|
|
</simpara>
|
|
|
|
<itemizedlist>
|
|
<listitem><simpara><literal>unix:///tmp/mysock</literal></simpara></listitem>
|
|
<listitem><simpara><literal>udg:///tmp/mysock</literal></simpara></listitem>
|
|
</itemizedlist>
|
|
|
|
<simpara>
|
|
<literal>unix://</literal> provides access to a socket stream
|
|
connection in the Unix domain. <literal>udg://</literal> provides
|
|
an alternate transport to a Unix domain socket using the user datagram
|
|
protocol.
|
|
</simpara>
|
|
|
|
<simpara>
|
|
Unix domain sockets, unlike Internet domain sockets, do not expect
|
|
a port number. In the case of <function>fsockopen</function> the
|
|
<parameter>portno</parameter> parameter should be set to 0.
|
|
</simpara>
|
|
</section>
|
|
|
|
</appendix>
|
|
|
|
<!-- 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
|
|
-->
|