cURL での SSL/TLS ハンドシェイク エラーのトラブルシューティング
HTTPS 経由で cURL リクエストを実行しようとすると、問題を示すエラー メッセージが表示される場合がありますSSL/TLS ハンドシェイクのどこかで発生します。この問題は、同じリソースが HTTP 経由で正常にアクセスされた場合でも発生する可能性があります。
解決策: ルート証明書の提供
このエラーを解決するには、cURL は cacert への明示的なアクセスを必要とします。 .pem ファイル。SSL 証明書の検証に必要なルート証明書が含まれています。デフォルトでは、cURL のインストールにはこれらの証明書は含まれません。
cacert.pem ファイルの場所を指定するには、次のコードを使用します。
curl_setopt($ch, CURLOPT_CAINFO, '/path/to/cert/file/cacert.pem');
cacert の取得.pem ファイル
cacert.pem ファイルは、URL: http://curl.haxx.se/docs/caextract.html からダウンロードできます。ダウンロードしたら、指定した場所にファイルを配置します。
検証された証明書
cacert.pem ファイルを提供することで、cURL は、次によって提示された SSL 証明書の信頼性を検証できます。リモート サーバーで、「SSL/TLS ハンドシェイクのどこかで問題が発生しました」エラーを解決します。
以上がcURL 使用時の SSL/TLS ハンドシェイク エラーのトラブルシューティング方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。