首页 > 后端开发 > php教程 > 如何解决 PHP 中的'SSL3_GET_SERVER_CERTIFICATE:证书验证失败”错误?

如何解决 PHP 中的'SSL3_GET_SERVER_CERTIFICATE:证书验证失败”错误?

DDD
发布: 2025-01-01 04:38:09
原创
996 人浏览过

How to Resolve the

解决 HTTPS 请求的“SSL3_GET_SERVER_CERTIFICATE:证书验证失败”错误

在 Web 开发领域,利用 HTTPS 进行安全通信至关重要。然而,HTTPS 请求过程中偶尔可能会出现错误,例如臭名昭​​著的“SSL3_GET_SERVER_CERTIFICATE:证书验证失败,CA 正常。”

解决错误

当此情况发生时发生错误,通常表示预期的服务器证书与服务器提供的证书之间存在差异。尽管 CA(证书颁发机构)被视为有效,但证书验证问题仍然存在。

通过 PHP 配置解决

对于 PHP 应用程序,此错误的简单解决方案在于在 php.ini 中配置curl.cainfo 设置。此设置指定包含受信任根证书的文件的路径。默认情况下,PHP 使用自己的捆绑证书,该证书可能不会定期更新。

要解决该错误:

  1. 从 https://curl 下载 ca-certificates 捆绑包。 se/ca/cacert.pem.
  2. 将下载的文件保存到所需位置,例如, /path/to/cacert.pem.
  3. 打开 /etc/php.ini,找到 [curl] 部分,然后添加以下行:
curl.cainfo = /path/to/cacert.pem
登录后复制
  1. 保存并重启PHP FPM服务。

个人请求调整

如果 PHP 配置调整不可行,可以通过设置 CURLOPT_CAINFO 选项将特定的 cURL 请求配置为使用自定义 CA 证书:

curl_setopt($ch, CURLOPT_CAINFO, '/path/to/cacert.pem');
登录后复制

其他注意事项

确保 HTTPS 端点提供的服务器证书有效且已签名由受信任的 CA 提供。如果问题仍然存在,请考虑检查防火墙设置或验证服务器端证书。

结论

按照以下步骤,您可以有效解决“SSL3_GET_SERVER_CERTIFICATE:证书验证”问题failed, CA is OK”错误并确保您的 PHP 应用程序中 HTTPS 通信顺利。

以上是如何解决 PHP 中的'SSL3_GET_SERVER_CERTIFICATE:证书验证失败”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板