Ошибка ssl сертификата при использовании fsockopen()

Пробовал написать скрипт для проверки доступности сайтов и столкнулся с проблемой открытия ssl сертификатов на некоторых сайтах. Ошибка выглядит так:

Warning: fsockopen(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /home/p/pgd0211/test/public_html/system_files/script_verification.php on line 54 Warning: fsockopen(): Failed to enable crypto in /home/p/pgd0211/test/public_html/system_files/script_verification.php on line 54 Warning: fsockopen(): unable to connect to ssl://site.ru:443 (Unknown error) in /home/p/pgd0211/test/public_html/system_files/script_verification.php on line 54

Мой скрипт:

function send_headers_socket($url)
{
    $url_param = parse_url($url);
    
    if($url_param['scheme']=='http') 
        $handle = fsockopen($url_param['host'],80); 
    else

    $fp=fsockopen('ssl://'.$url_param['host'], 443, $errno, $errstr, 30);

    if(!$handle = $fp) return false; 
    
    if(!isset($url_param['path']) || $url_param['path']=='') $url_param['path']='/';

    $headers  = "GET ".$url_param['path']." HTTP/1.1\r\n";
    $headers.= "Host: ".$url_param['host']."\r\n";
    $headers.= "Connection: close\r\n";
    $headers.="\r\n";
    fputs($handle,$headers);
    return $handle;
}

function get_resp_socket($handle)
{
    if (!$handle) return false;


    $resp='';
    while (!feof($handle)) {
        $resp.= fgets($handle,128);
    }
    fclose($handle);
    $headers = substr($resp, 0, strpos($resp, "\r\n\r\n"));
    return  explode("\r\n", $headers);
}

Ответы (0 шт):