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