Lista de Transportes via Socket Suportados
Índice
Segue a lista dos vários estilos de URL para transporte via socket que o PHP tem integrado para uso com funções de fluxos de dados baseados em socket como fsockopen(), e stream_socket_client(). Esses transportes não se aplicam à Extensão de Sockets.
Para uma lista de transportes instalados na sua versão do PHP use stream_get_transports().
Internet Domain: TCP, UDP, SSL, e TLS
PHP 3, PHP 4, PHP 5. 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.
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://.