慎重に設定したにもかかわらず、「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 サイトの他の関連記事を参照してください。