使用SSL时出现PHP卷曲错误


PHP Curl Error when using SSL

我正在尝试使用WHMCS API将第三方脚本连接到它。我创建了第三方的脚本,如下所示,但是,当我尝试使用HTTPS连接到我的站点时,我得到了以下错误:错误:140770FC:SSL例程:SSL23_get_SERVER_HELLO:未知协议

如果我使用HTTP,我会得到一个404错误。代码如下(是的,这是我的实际域,因为我认为SSL的细节可能很重要):

$email = $_GET["email"];
$password = $_GET["password"];
if(filter_var($email, FILTER_VALIDATE_EMAIL) && strlen($password) > 0) {
    $postfields["username"] = $apiusername;
    $postfields["password"] = $apipassword;
    $postfields["action"] = "validatelogin";
    $postfields["email"] = $email;
    $postfields["password2"] = $password;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://tfdidesign.com/accounts/includes/api.php");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 100);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);   
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    $data = curl_exec($ch);
    if(curl_error($ch))
        echo(curl_error($ch));
    curl_close($ch);     
    $data = explode(";",$data);
    foreach ($data AS $temp) {
        $temp = explode("=",$temp);
        $results[$temp[0]] = $temp[1];
    }
}
else
    die("INVALID_CREDENTIALS");

定义curl的ssl版本(可以是2或3):

curl_setopt($curl, CURLOPT_SSLVERSION,3);

也尝试使用这个:

curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);