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