Maison  >  Article  >  développement back-end  >  Comment résoudre l'erreur « stream_socket_enable_crypto() : échec de l'opération SSL avec le code 1 » en utilisant PHP 5.6 et GoDaddy SSL ?

Comment résoudre l'erreur « stream_socket_enable_crypto() : échec de l'opération SSL avec le code 1 » en utilisant PHP 5.6 et GoDaddy SSL ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-19 10:06:30286parcourir

How to Resolve

Erreur stream_socket_enable_crypto() : échec de l'opération SSL avec le code 1

Lors de l'utilisation de PHP 5.6 et d'un certificat SSL GoDaddy sur Amazon EC2 Linux, un une erreur peut survenir lors de l'envoi d'e-mails avec Mailgun ou d'autres services SMTP via SSL :

stream_socket_enable_crypto(): SSL operation failed with code 1.
OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

Cause première

Cette erreur se produit en raison d'une vérification plus stricte du certificat SSL introduite dans PHP 5.6. Par défaut, PHP vérifiera le nom de domaine dans l'URL par rapport au nom de domaine dans le certificat. Le certificat SSL de GoDaddy étant un certificat générique, il ne correspond pas au nom de domaine spécifique de votre serveur.

Solution

Il existe deux façons de résoudre ce problème :

Option 1 : Désactiver la vérification du certificat

<code class="php">'stream' => [
    'ssl' => [
        'allow_self_signed' => true,
        'verify_peer' => false,
        'verify_peer_name' => false,
    ],
],</code>

Attention : La désactivation de la vérification du certificat peut compromettre la sécurité de votre application. Il est recommandé d'utiliser l'option 2 à la place ou de mettre à niveau vers PHP 7.2 ou version ultérieure.

Option 2 : mettre à niveau PHP

Les versions PHP 7.2 et ultérieures incluent un correctif pour cela problème. La mise à niveau de votre version PHP résoudra cette erreur et maintiendra la sécurité de votre application.

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