繁体   English   中英

Windows上的PHP cURL SSL错误

[英]PHP cURL SSL error on windows

我在使用Windows的PHP和cURL时遇到了一个奇怪的问题。

如果有cURL调用https资源。 一切顺利,直到今天早上。 现在,cURL在请求URL时抛出此错误:

SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

我已阅读有关.pem文件或禁用主机验证的信息。 但是我不想使用它们中的任何一个,因为我想知道是什么引起了问题。

直到今天,cURL怎样才能验证URL? 它使用一些系统CA信息吗? 过去一天,我尚未对PHP或cURL进行任何更新。

服务器的证书很可能已过期,或者已替换为自签名证书,您不信任的CA颁发的证书或颁发给错误主题的证书。

无论问题是什么,它都是服务器端的,与您的代码无关—您应联系操作您所使用的服务的人员,并告知他们问题。

您可以在浏览器中访问URL来轻松检查证书-浏览器很可能会给您一个很好的人类可读消息,告诉您确切的问题所在,因为它也无法验证证书。

一旦您与服务提供商联系以验证他们的证书确实存在问题,就不会有人试图诱骗您使用错误的服务器(毕竟,这是SSL的主要目的之一) ),您可以跳过服务器证书的验证作为临时解决方案。

添加:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

我想必须更改服务器设置

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM