Maison > développement back-end > tutoriel php > Comment résoudre l'erreur « stream_socket_enable_crypto() : l'opération SSL a échoué avec le code 1 » dans la classe de messagerie de Laravel ?

Comment résoudre l'erreur « stream_socket_enable_crypto() : l'opération SSL a échoué avec le code 1 » dans la classe de messagerie de Laravel ?

Linda Hamilton
Libérer: 2024-10-19 10:28:30
original
1151 Les gens l'ont consulté

How to Resolve the

Comprendre et résoudre "stream_socket_enable_crypto() : l'opération SSL a échoué avec le code 1"

L'erreur "stream_socket_enable_crypto() : l'opération SSL a échoué avec le code 1" se produit généralement lors de l'utilisation de l'extension openSSL de PHP pour vérifier les certificats SSL. Cela peut se produire dans diverses situations, notamment en utilisant un certificat auto-signé ou en se connectant à un nom d'hôte qui ne correspond pas au certificat.

Dans votre cas, l'erreur apparaît lors de l'envoi d'un e-mail à l'aide de la classe Mail de Laravel. Les étapes suivantes expliquent comment résoudre ce problème :

1. Comprendre les implications en matière de sécurité :

  • Il est crucial de reconnaître que la désactivation de la vérification SSL peut compromettre la sécurité. Les attaquants peuvent usurper l'identité de points de terminaison de confiance et lancer des attaques Man-in-the-Middle (MITM) si l'authenticité du certificat n'est pas validée.

2. Désactivez la vérification SSL (Attention) :

  • Ouvrez le fichier /config/mail.php.
  • Ajoutez le code suivant à la configuration 'stream' dans le 'mail' section :
'stream' => [
   'ssl' => [
      'allow_self_signed' => true,
      'verify_peer' => false,
      'verify_peer_name' => false,
   ],
],
Copier après la connexion

Remarque : Désactivez la vérification SSL uniquement si vous comprenez parfaitement les risques de sécurité et que vous utilisez un certificat auto-signé ou que vous vous connectez à un nom d'hôte qui ne correspond pas le certificat.

Conseils supplémentaires :

  • Vérifiez que votre version PHP prend en charge OpenSSL (la version 5.6 ou supérieure est recommandée).
  • Assurez-vous que l'extension openSSL de PHP est activée (utilisez 'phpinfo()' pour vérifier).
  • Assurez-vous que le bon certificat SSL est installé sur votre serveur Web.
  • Essayez de vous connecter directement à l'URL SSL dans un navigateur pour confirmer si le certificat est valide.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal