Maison  >  Article  >  développement back-end  >  Comment résoudre les erreurs HTTPS dans file_get_contents() en cas de « Échec de l'ouverture du flux » ?

Comment résoudre les erreurs HTTPS dans file_get_contents() en cas de « Échec de l'ouverture du flux » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-23 21:43:01841parcourir

How to Resolve HTTPS Errors in file_get_contents() When Encountering

Résolution des erreurs HTTPS dans file_get_contents()

Lors de l'utilisation de file_get_contents() pour établir des connexions via les protocoles HTTPS, il peut rencontrer un message « échec de connexion erreur « flux ouvert ». Pour résoudre ce problème et permettre la communication via des canaux sécurisés, certaines exigences doivent être remplies.

Exigences de compatibilité HTTPS :

  • Extension PHP OpenSSL : L'extension php_openssl doit être installée et activée. Cette extension fournit les fonctionnalités nécessaires liées à la cryptographie.
  • allow_url_fopen Paramètre : Le paramètre de configuration PHP allow_url_fopen doit être défini sur "On". Cela permet à PHP de se connecter à des URL distantes.

Activation de la prise en charge HTTPS dans PHP.ini :

Pour garantir la compatibilité, ajoutez les lignes suivantes au php. ini s'ils ne sont pas déjà présents :

extension=php_openssl.dll

allow_url_fopen = On

Code mis à jour avec prise en charge HTTPS :

Avec les configurations appropriées en place, l'extrait de code fourni peut être modifié pour fonctionner avec les connexions HTTPS :

<code class="php">function send($packet, $url) {
  $ctx = stream_context_create(
    array(
      'https'=>array(
        'header'=>"Content-type: application/x-www-form-urlencoded",
        'method'=>'POST',
        'content'=>$packet
      )
    )
  );

  return file_get_contents($url, 0, $ctx);
}</code>

En implémentant ces modifications, les connexions HTTPS peuvent être établies avec succès, éliminant ainsi l'erreur « Échec de l'ouverture du flux ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn