Forum und email

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.

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