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_
Nota:
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
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 del 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
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_
Tabla J_1_
Opciones de contexto para los
transportes ssl:// y tls://
(a partir de PHP 4_3_2)
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á_
Nota:
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://_