Forum und email

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.

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://.