ホームページ  >  記事  >  バックエンド開発  >  PHP 5.6 と GoDaddy SSL を使用して「stream_socket_enable_crypto(): SSL Operation Failed with Code 1」エラーを解決する方法

PHP 5.6 と GoDaddy SSL を使用して「stream_socket_enable_crypto(): SSL Operation Failed with Code 1」エラーを解決する方法

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

How to Resolve

stream_socket_enable_crypto() エラー: SSL オペレーションがコード 1 で失敗しました

Amazon EC2 Linux で PHP 5.6 と GoDaddy SSL 証明書を使用すると、 Mailgun または他の SMTP サービスを 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

根本原因

このエラーは、PHP に導入されたより厳格な SSL 証明書検証が原因で発生します。 5.6.デフォルトでは、PHP は URL 内のドメイン名を証明書内のドメイン名と照合します。 GoDaddy の SSL 証明書はワイルドカード証明書であるため、サーバーの特定のドメイン名と一致しません。

解決策

この問題を解決するには 2 つの方法があります。

オプション 1: 証明書検証を無効にする

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

注意: 証明書検証を無効にすると、アプリケーションのセキュリティが危険にさらされる可能性があります。代わりにオプション 2 を使用するか、PHP 7.2 以降にアップグレードすることをお勧めします。

オプション 2: PHP をアップグレードする

PHP バージョン 7.2 以降には、この問題に対する修正が含まれています。問題。 PHP バージョンをアップグレードすると、このエラーが解決され、アプリケーションのセキュリティが維持されます。

以上がPHP 5.6 と GoDaddy SSL を使用して「stream_socket_enable_crypto(): SSL Operation Failed with Code 1」エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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