ホームページ >バックエンド開発 >PHPチュートリアル >Laravel のメール クラスの「stream_socket_enable_crypto(): SSL 操作がコード 1 で失敗しました」エラーを解決するにはどうすればよいですか?

Laravel のメール クラスの「stream_socket_enable_crypto(): SSL 操作がコード 1 で失敗しました」エラーを解決するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-19 10:28:301087ブラウズ

How to Resolve the

「stream_socket_enable_crypto(): SSL 操作がコード 1 で失敗しました」の理解と解決

エラー「stream_socket_enable_crypto(): SSL 操作がコード 1 で失敗しました」コード 1」は通常、PHP の openSSL 拡張機能を使用して SSL 証明書を検証するときに発生します。これは、自己署名証明書の使用や証明書と一致しないホスト名への接続など、さまざまな状況で発生する可能性があります。

あなたの場合、Laravel の Mail クラスを使用して電子メールを送信するときにエラーが表示されます。次の手順は、この問題を解決する方法の概要を示しています。

1.セキュリティへの影響を理解します:

  • SSL 検証を無効にするとセキュリティが侵害される可能性があることを認識することが重要です。証明書の信頼性が検証されない場合、攻撃者は信頼できるエンドポイントになりすまして中間者 (MITM) 攻撃を開始する可能性があります。

2. SSL 検証を無効にする (注意):

  • /config/mail.php ファイルを開きます。
  • 「メール」内の「ストリーム」構成に次のコードを追加します。セクション:
'stream' => [
   'ssl' => [
      'allow_self_signed' => true,
      'verify_peer' => false,
      'verify_peer_name' => false,
   ],
],

注: セキュリティ リスクを十分に理解し、自己署名証明書を使用している場合、または一致しないホスト名に接続している場合にのみ、SSL 検証を無効にしてください。

追加のヒント:

  • PHP バージョンが OpenSSL をサポートしていることを確認してください (バージョン 5.6 以降を推奨します)。
  • 確認してくださいPHP の openSSL 拡張機能が有効であることを確認してください (「phpinfo()」を使用して確認してください)。
  • 正しい SSL 証明書が Web サーバーにインストールされていることを確認してください。
  • SSL URL に直接接続してみてください。ブラウザで証明書が有効かどうかを確認します。

以上がLaravel のメール クラスの「stream_socket_enable_crypto(): SSL 操作がコード 1 で失敗しました」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。