Lista de Transportes de Sockets Soportados
Table of Contents
La siguiente es una lista de los varios transportes de socket estilo URL que PHP tiene integrados para su uso con funciones de sockets basados en secuencias, tales como fsockopen(), y stream_socket_client(). Estos transportes no se aplican a la Extensión de Sockets.
Para una lista de transportes instalados con su versión de PHP use stream_get_transports().
Dominio de Internet: TCP, UDP, SSL, y TLS
PHP 3, PHP 4, PHP 5. ssl:// y tls:// a partir de PHP 4.3.0, sslv2:// y sslv3:// a partir de PHP 5.0.2
Note: Si no se especifica un transporte, se asumirá tcp://
- 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
Los sockets del Dominio de Internet esperan un número de puerto junto con una dirección de destino. En el caso de fsockopen(), éste es especificado en un segundo parámetro y por lo tanto no tiene impacto sobre el formato de la URL de transporte. Sin embargo, en el caso de stream_socket_client() y funciones relacionadas, asà como ocurre con URLs tradicionales, el número de puerto se especifica como un sufijo del URL de transporte delimitado con el signo dos puntos.
- tcp://127.0.0.1:80
- tcp://[fe80::1]:80
- tcp://www.example.com:80
Note: Direcciones IPv6 numéricas con números de puerto En el segundo ejemplo anterior, mientras que los ejemplos IPv4 y con nombre de dominio fueron modificados solo ligeramente con la adición de sus dos puntos y número de puerto, la dirección IPv6 es rodeada por corchetes cuadrados: [fe80::1]. Esto es para poder distinguir entre los dos puntos usados en una dirección IPv6 y aquellos usados para delimitar el número de puerto.
Los transportes ssl:// y tls:// (disponibles únicamente cuando se compila el soporte para openssl con PHP) son extensiones del transporte tcp:// el cual incluye encripción SSL. A partir de PHP 4.3.0 el soporte OpenSSL debe ser compilado estáticamente con PHP, a partir de PHP 5.0.0 puede ser compilado como módulo o estáticamente.
ssl:// intentará negociar una conexión SSL V2 o SSL V3 dependiendo de las capacidades y preferencias del host remoto. sslv2:// y sslv3:// seleccionarán el protocolo SSL V2 o SSL V3 explÃcitamente.
Nombre | Uso | Predeterminado |
---|---|---|
verify_peer | TRUE o FALSE. Requerir verificación del certificado SSL usado. | FALSE |
allow_self_signed | TRUE o FALSE. Permitir certificados firmados por uno mismo. | FALSE |
cafile | Ubicación del archivo de Autoridad de Certificado en un sistema de archivos local, el cual debe ser usado con la opción de contexto verify_peer para verificar la identidad del conector remoto. | |
capath | Si no se especifica cafile o el certificado no se encuentra allÃ, el directorio apuntado por capath es usado para buscar un certificado apropiado. capath debe ser un directorio de certificados correctamente habilitado mediante resumen criptográfico. | |
local_cert | Ruta al archivo de certificado local en el sistema de archivos. Debe ser un archivo codificado mediante PEM, el cual contenga su certificado y llave privada. Opcionalmente, puede contener la cadena de expendedores del certificado. | |
passphrase | La contraseña con la que el archivo local_cert fue codificado. | |
CN_match | El nombre común (Common Name) que estamos esperando. PHP realizará comparaciones limitadas de comodines. Si el nombre común no produce coincidencias, el intento de conexión fallará. |
Note: Debido a que ssl:// es el transporte base para las envolturas https:// y ftps://, cualquier opción de contexto que se aplique a ssl:// también se aplica a https:// y ftps://.