Voici la liste des différents modes de transport, format URL, dont
PHP dispose en interne pour les flux qui exploitent les sockets, tels
que fsockopen() et
stream_socket_client(). Ces modes de transport
ne s'appliquent pas à l'extension
sockets.
Pour connaître la liste des modes de transport installés sur votre version
de PHP, utilisez stream_get_transports().
PHP 3, PHP 4, PHP 5.
ssl:// & tls:// depuis PHP 4.30,
sslv2:// & sslv3:// depuis PHP 5.0.2.
Note :
Si aucun transport n'est spécifié, tcp://
est utilisé.
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
Les sockets du domaine Internet utilisent un numéro de port en plus
de l'adresse de l'hôte. Dans le cas de fsockopen(),
il est spécifié en deuxième paramètre et, donc, n'a pas d'impact
sur le format du mode de transport. Avec stream_socket_client()
et les autres fonctions de la même famille, le numéro de port est
spécifié comme un suffixe dans l'URL de transport,
identifié par le signe deux-points.
tcp://127.0.0.1:80
tcp://[fe80::1]:80
tcp://www.example.com:80
Adresse IPv6 et numéro de port :
Dans le second exemple ci-dessus, les exemples en IPv4 et les
noms d'hôtes sont identiques, mais les IPv6 sont placées entre
crochets, en plus d'avoir les deux-points et le numéro de port :
[fe80::1]. Cela permet de distinguer les deux-points
utilisés en IPv6 et le deux-points utilisés pour délimiter
le numéro de port.
Les modes ssl:// et tls://
(disponibles uniquement lorsque le support OpenSSl est compilé avec PHP) sont
des extensions de tcp:// qui incluent le chiffrement SSL.
En PHP 4.3, OpenSll doit être compilé statiquement avec PHP. en
PHP 5.0, il peut être compilé en module ou statiquement.
ssl:// va tenter de négocier une connexion SSL V2 ou SSL V3,
suivant les capacités et les références de l'hôte distant. sslv2:// et
sslv3:// sélectionnent explicitement le protocole.
Tableau O-1.
Les options de contexte de ssl:// et
tls:// (depuis PHP 4.3.2)
Nom
Utilisation
Valeur par défaut
verify_peer
TRUE ou FALSE.
Requiert la vérification du certificat SSL utilisé.
FALSE
allow_self_signed
TRUE ou FALSE.
Permet les certificats auto-signés.
FALSE
cafile
Situation du fichier de l'autorité de certification sur le
serveur local, qui doit être utilisé avec
verify_peer comme option de contexte pour
identifier un pair distant.
capath
Si cafile n'est pas spécifié, ou si
le certificat n'est pas trouvé, le dossier capath
est scanné pour y trouver un certificat convenable.
capath doit être un dossier de certificats corrects.
local_cert
Chemin jusqu'au fichier de certificat local. Il doit être au
format PEM, qui contient votre certificat, et la clé
privée.
Il peut éventuellement contenir la chaîne de certificat de
l'émetteur.
passphrase
Mot de passe avec lequel votre local_cert a
été chiffré.
CN_match
Le nom commun (Common Name) que nous attendons. PHP va effectuer
une comparaison avec jokers limités. Si le nom commun ne correspond
pas à celui attendu, la connexion va échouer.
Note :
Comme ssl:// est le mode de transport sous-jacent de
https:// et
ftps://,
toutes les options de contexte qui s'appliquent à ssl://,
s'appliquent aussi à https:// et ftps://.