4 回答
TA贡献1856条经验 获得超5个赞
因为你没有启用 curl.cainfo
您可以将 cainfo.pem 添加到 php.ini
[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
curl.cainfo=/etc/ssl/certs/cacert.pem
TA贡献1833条经验 获得超4个赞
在我的本地机器上工作时,这就是我解决这个问题的方法,
将文件复制到php 位置,即如果使用 Wamp
C:\wamp64\bin\php\cacert.pem
或者如果使用 Xampp
C:\xampp\php\cacert.pem
****请注意使用您环境中的路径。
然后如果使用 Wamp 编辑apache 文件夹中的php.ini文件即
C:\wamp64\bin\apache\apache2.4.39\bin
编辑行:
[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
curl.cainfo = "C:\wamp64\bin\php\cacert.pem"
或者使用 Xampp
C:\xampp\php
编辑行:
curl.cainfo = "C:\xampp\php\cacert.pem"
然后重新启动您的 Wamp 或 Xampp 服务,这应该可以解决问题。
TA贡献1883条经验 获得超3个赞
根据curl(1)
手册页,错误代码 35 是 SSL 握手失败:
EXIT CODES ... 35 SSL connect error. The SSL handshaking failed.
您可以尝试暂时禁用 SSL 证书验证,看看是否可以解决问题。
curl_setopt($handle, CURLOPT_VERIFYPEER, 0); // ***JUST A TEST! DO __NOT__ PUSH THIS TO PRODUCTION!***
如果这确实解决了问题,原因可能是两种最常见的 SSL 握手失败之一:
主机上缺少 CA 证书,这意味着 cURL 无法验证证书的真实性。
您要连接的机器出示的证书已过期。
如果这不能解决问题,原因可能是:
您的机器和远程机器无法协商密码套件和/或 SSL 版本。
任意数量的其他 SSL 错误。
- 4 回答
- 0 关注
- 258 浏览
添加回答
举报