ホームページ  >  記事  >  バックエンド開発  >  PHP で HTTPS で CURL を使用するときに発生する「SSL CA 証明書の問題」エラーを修正する方法

PHP で HTTPS で CURL を使用するときに発生する「SSL CA 証明書の問題」エラーを修正する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-20 07:18:29143ブラウズ

How to Fix the

PHP CURL での SSL 証明書検証の無視: 「SSL CA 証明書の問題」エラーの解決

慎重に設定したにもかかわらず、「SSL 証明書の問題」が発生する場合があります。 PHP で HTTPS で CURL を使用すると、「CA cert (path? access Rights?)」エラーが発生します。この問題は、curl ライブラリを更新した後に発生する可能性があります。

1.ホストとピアの検証を無効にします:

<code class="php">curl_setopt($cHandler, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true);</code>

2. CURLOPT_SSL_VERIFYPEER を有効にし、CA 証明書を定義します:

<code class="php">curl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true);  
curl_setopt($cHandler, CURLOPT_CAINFO, getcwd() . "/positiveSSL.ca-bundle");</code>

3.サーバーのバンドル CA 証明書を使用します:

同様に、サーバーによって提供されるpositiveSSL.ca-bundleを試すことができます。

4. PHP INI 設定を更新します:

CA 証明書ファイルを指すように php.ini のcurl.cainfo を構成します。

5. NSS データベースの名前変更:

システム全体の証明書を除外するために NSS データベースの名前を一時的に変更します。

6.ライブラリを更新して再起動します:

ライブラリを更新した後にシステムを再起動すると、問題が解決する可能性があります。

7. CURLOPT_SSL_VERIFYHOST および CURLOPT_SSL_VERIFYPEER を使用した検証の無効化:
検証が必要ない場合に推奨されます。

<code class="php">curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);</code>

これらの解決策がいずれも機能しない場合は、最新のライブラリ バージョンにアップグレードすることを検討してください。システムを再起動します。あるいは、ホスティング プロバイダーまたはサーバー管理者に相談して、環境に影響を与える特定の証明書の問題があるかどうかを判断することもできます。

以上がPHP で HTTPS で CURL を使用するときに発生する「SSL CA 証明書の問題」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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