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