cURL 错误: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error错误码: 35bool(false)

php发起curl请求报错cURL 错误: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error错误码: 35bool(false)
如何在不升级php的条件下能解决这个问题?

1. 运行环境

windows x64
php 5.4.45
cURL version: 7.42.1
OpenSSL version: OpenSSL 0.9.8zf 19 Mar 2015
cURL 错误: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error错误码: 35bool(false)

<?php
header('Content-type: application/json; charset=utf-8');
// echo '<pre>';
echo 'cURL version: ' . curl_version()['version'] . "\n";

// echo '<br/>';
echo 'OpenSSL version: ' . OPENSSL_VERSION_TEXT . "\n";




$data = http_build_query(
                     array(
                         'key' => 1232,
                         'appid'  => 32131231231231,
                         'orderid' => 32131
                     )
                     );

                 $url = "https://partner.steam-api.com/ISteamMicroTxn/RefundTxn/v2/";
                 //$url = "https://partner.steam-api.com/ISteamMicroTxnSandBox/RefundTxn/v2/";

                 $ch = curl_init();

                 curl_setopt($ch, CURLOPT_URL, $url);
                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                //curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_0); 
                 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
                 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                 curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
                 curl_setopt($ch, CURLOPT_POST, 3);
                // curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_3);

                 $vault_data = curl_exec($ch);


                if ($vault_data === false) {
                    echo 'cURL 错误: ' . curl_error($ch);
                    echo '错误码: ' . curl_errno($ch);
                } else {
                    var_dump($vault_data);
                }



                 var_dump($vault_data);exit;
                curl_close($ch);
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 2

AI 的回答,希望能帮到你

1 检查 OpenSSL 版本:openssl version 如果 < 1.0.2,必须升级

2 升级 OpenSSL 到 1.1.1 或更高 从源码编译安装

3 编译安装新版 cURL,链接新 OpenSSL ./configure –with-ssl=/usr/local/ssl

4 PHP 中使用 CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2 强制使用 TLS 1.2

5 如果仍不行,尝试用 IP + Host 头访问 绕过 SNI 问题

19小时前 评论
蜗牛啊蜗牛 (楼主) 18小时前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!