Liste des modes de transport de sockets disponibles
Table of Contents
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().
Domaines Internet : TCP, UDP, SSL et TLS
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
Note: 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.
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://.