Unirest PHP SSL证书问题(无法获取本地颁发者证书)

如果收到此错误, 则该消息是非常特定的, 并且当你尝试从不安全的起点访问受保护的资源时, 需要向你的PHP发行版提供有效的证书。
如果你在项目本地工作, 此错误很常见, 你可以阅读以下文章, 以了解如何在Wampp和Xampp中为你的PHP发行版实现有效的SSL证书。
但是, 如果你急于在本地工作, 则可以仅在不休息的情况下禁用对等方的验证, 以忽略此警告。
在执行主代码之前, 将verifyPeer属性设置为false:
注意:在测试之前, 请阅读” 为什么会发生” 部分及其带来的风险。

< ?php// Disables SSL cert validation temporaryUnirest\Request::verifyPeer(false); // Then continue with your work as usual ...Unirest\Request::get('https://domainwithhttpsconnection/api/dothis');

为什么会这样libcurl默认执行对等SSL证书验证。这可以通过使用CA证书存储区来完成, SSL库可以使用该证书存储区来确保对等方的服务器证书有效。
如果使用存储中存在的CA签名的证书与HTTPS, FTPS或其他使用TLS的服务器进行通信, 则可以确保远程服务器确实是它声称的服务器。
如前所述, 有两种解决方案:
  1. 告诉cURL不验证对等方。使用libcurl可以使用curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, FALSE)禁用此功能;
    使用curl命令行工具, 可以使用-k /-insecure禁用它。
  2. 获取可以验证远程服务器的CA证书, 并在连接时使用正确的选项指出此CA证书以进行验证。对于libcurl黑客:curl_easy_setopt(curl, CURLOPT_CAPATH, capath);
    使用curl命令行工具:– cacert [file]。
但是, 由于我们使用的是unirest, 因此该库的效果与使用verifyPeer(false)方法的第一个选项相同。
【Unirest PHP SSL证书问题(无法获取本地颁发者证书)】你应该使用选项2, 因为那是确保你连接到安全服务器的选项。

    推荐阅读