我在我的开发服务器上遇到了问题,其中cURL虽然可以与任何HTTP完美配合,但无法正常使用任何HTTPS - 即使是使用不同协议的完全相同的资源(用于测试我一直在使用http请求google.com)和https).
返回的cURL错误是35:"SSL/TLS握手中某处出现问题."
我已经梳理了网络和SO以获得解决方案,并且所有这些都将CURLOPT_SSL_VERIFYPEER设置为false,这不会改变任何内容,或者下载证书文件并将CURLOPT_CAINFO设置为其路径,这也不会改变任何内容.
在设置证书时,我按照本教程和本教程的说明,尝试下载我请求的资源的证书,并下载证书包.
我也尝试过明确地将CURLOP_PORT设置为443.为了彻底解决我的问题,我设置的其他选项是CURLOPT_VERBOSE = true,CURLOPT_RETURNTRANSFER = true,CURLOPT_SSL_VERIFYHOST = 2(我已经尝试了每个组合1和2,VERIFYPEER都是true和假).我也确定在phpinfo()中我有OpenSSL并且它已启用.
我正在使用很多旧代码,这些代码在我的上一个生产服务器上运行得很好,所以这段代码以前一直有用.但是这个托管是共享托管,我不知道那里的大部分配置.