尽管仔细配置,您可能会遇到“SSL CA 证书问题”错误CA 证书(路径?访问权限?)”在 PHP 中使用带有 HTTPS 的 CURL 时出现错误。更新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.使用服务器的 Bundle CA 证书:
同样,您可以尝试服务器提供的 PositiveSSL.ca-bundle。
4.更新PHP INI设置:
配置php.ini中的curl.cainfo指向CA证书文件。
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 中使用 CURL 和 HTTPS 时出现的'SSL CA 证书问题”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!