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 fsockopen(), and
  stream_socket_client().  These transports do
  not apply to the 
  Sockets Extension.
 
   PHP 3, PHP 4, PHP 5.
   ssl:// & tls:// since PHP 4.3.0
   sslv2:// & sslv3:// since PHP 5.0.2
  
Note: 
    If no transport is specified, tcp:// will be assumed.
   
127.0.0.1
fe80::1
www.example.com
tcp://127.0.0.1
tcp://fe80::1
tcp://www.example.com
udp://www.example.com
ssl://www.example.com
sslv2://www.example.com
sslv3://www.example.com
tls://www.example.com
   Internet Domain sockets expect a port number in addition
   to a target address.  In the case of fsockopen()
   this is specified in a second parameter and therefore does
   not impact the formatting of transport URL.  With
   stream_socket_client() and related functions
   as with traditional URLs however, the port number is specified
   as a suffix of the transport URL delimited by a colon.
  
tcp://127.0.0.1:80
tcp://[fe80::1]:80
tcp://www.example.com:80
IPv6 numeric addresses with port numbers: 
    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: [fe80::1].  This is to
    distinguish between the colons used in an IPv6 address and
    the colon used to delimit the portnumber.
   
   The ssl:// and tls:// transports 
   (available only when openssl support is compiled into PHP) are extensions 
   of the tcp:// transport which include SSL encryption.
   Since PHP 4.3.0 OpenSSL support must be statically 
   compiled into PHP, since PHP 5.0.0
   it may be compiled as a module or statically.
  
   ssl:// will attempt to negotiate an SSL V2,
   or SSL V3 connection depending on the capabilities and preferences
   of the remote host.  sslv2:// and 
   sslv3:// will select the SSL V2 or SSL V3
   protocol explicitly.
  
   
Table O-1. 
     Context options for ssl:// and tls:// 
     transports (since PHP 4.3.2)
    
| Name | Usage | Default | 
|---|
| verify_peer | 
        TRUE or FALSE.
        Require verification of SSL certificate used.
        | FALSE | 
| allow_self_signed | 
        TRUE or FALSE.
        Allow self-signed certificates.
        | FALSE | 
| cafile | 
        Location of Certificate Authority file on local filesystem
        which should be used with the verify_peer
        context option to authenticate the identity of the remote peer.
        |   | 
| capath | 
        If cafile is not specified or if the certificate
        is not found there, the directory pointed to by capath 
        is searched for a suitable certificate.  capath
        must be a correctly hashed certificate directory.
        |   | 
| local_cert | 
        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.
        |   | 
| passphrase | 
        Passphrase with which your local_cert file
        was encoded.
        |   | 
| CN_match | 
        Common Name we are expecting.  PHP will perform limited wildcard
        matching.  If the Common Name does not match this, the connection
        attempt will fail.
        |   | 
 
  Note: 
    Because ssl:// is the underlying transport for the
    https:// and
    ftps:// wrappers, 
    any context options which apply to ssl:// also apply to
    https:// and ftps://.