Lista de Transportes via Socket Suportados
Domínio Unix: Unix e UDG
Lista de Transportes via Socket Suportados
PHP Manual

## Internet Domain: TCP, UDP, SSL, e TLS

PHP 4, PHP 5, PHP 6. ssl:// & tls:// desde o PHP 4.3.0 sslv2:// & sslv3:// desde o PHP 5.0.2

> Nota: Se nenhum transporte for especificado, tcp:// será usado.

- 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

Sockets no Domínio Internet esperam um número de porta além do endereço desejado. No caso de fsockopen(), esta é especificada no segundo parâmetro e, portanto, não afeta a formatação da URL. Com stream_socket_client() e funções relacionadas como com as URLs tradicionais, no entanto, o número da porta é especificado como um sufixo à URL delimitada por dois-pontos.

- tcp://127.0.0.1:80
- tcp://[fe80::1]:80
- tcp://www.example.com:80

> Nota: Endereços númericos com número de porta em IPv6
> No segundo exemplo acima, enquanto os exemplos em IPv4 e nome de host permaneceram iguais, exceto pela adição do dois-pontos e número da porta, o endereço em IPv6 é envolto em colchetes: [fe80::1]. Isso é para destinguir entre os dois pontos de um endereço IPv6 e como separador de porta no IPv4.

Os transportes ssl:// e tls:// (disponíveis apenas quando o suporte a openssl é compilado no PHP) são extensões do transporte tcp:// que incluem encriptação SSL. Desde o PHP 4.3.0, suporte a OpenSSL deve ser compilado estaticamente no PHP, no PHP 5.0.0 ele pode ser compilado como um módulo ou estaticamente.

ssl:// tentará negociar uma conexão SSL V2 ou SSL V3, dependendo das capacidades e preferências do host remoto. sslv2:// e sslv3:// selecionará o protocolo de maneira explícita.

Opções de contexto para transportes ssl:// e tls:// (PHP 4.3.2 ou superior)
Nome | Uso | Valor Padrão
--- | --- | ---
verify_peer | `TRUE` or `FALSE`. Quando `TRUE`, passa a pedir a verificação do certificado SSL. | `FALSE`
allow_self_signed | `TRUE` or `FALSE`. Quando `TRUE`, permite certificados auto-assinados. | `FALSE`
cafile | Localização do arquivo de Certificado de Autoridade no sistema de arquivo que deve ser usado com a opção de contexto verify_peer para autenticar a identidade do peer remoto. |
capath | Se cafile não for especificado ou se o certificado não for achado lá, o diretório apontado por capath é procurado para um certificado aceitável. capath deve ser um diretório de certificado corretamente hasheado. |
local_cert | Caminho para o arquivo local do certificado no sistema de arquivos. Deve ser um arquivo em codificacao PEM que contem seu certificado e uma chave privada. Ele pode, opcionalmente, conter a cadeia de emissores do certificado. |
passphrase | Passphrase com a qual seu arquivo local_cert foi codificado. |
CN_match | Nome Comum (Common Name) esperado. O PHP fará uma comparação limitada de wildcard. Se o Nome Comum não bater, a tentativa de conexão falhará. |

> Nota: Porque ssl:// é o transporte sobre o qual https:// e ftps:// funcionam, qualquer opção de contexto que for aplicada a ssl:// também será aplicada a https:// and ftps://.

Lista de Transportes via Socket Suportados
Domínio Unix: Unix e UDG
Lista de Transportes via Socket Suportados
PHP Manual