@Kerm

Как исправить ошибку file_get_contents(): SSL: Handshake timed out?

Есть вот такой код:

<?php

function simplexml_load_file_from_url($url, $timeout = 20){
	$opts = array('http' => array('timeout' => (int)$timeout));
	$context  = stream_context_create($opts);
	$data = file_get_contents($url, false, $context);

	if (!$data){
		trigger_error('Cannot load data from url: ' . $url, E_USER_NOTICE);
		return false;
	}

	return simplexml_load_string($data);
}

$url = 'https://geocode-maps.yandex.ru/1.x/?geocode=Москва';

$xml = simplexml_load_file_from_url($url);


Время от времени вижу в логах такие ошибки:

PHP Warning: file_get_contents(): SSL: Handshake timed out in getPickupMap.php on line 32
PHP Warning: file_get_contents(): Failed to enable crypto in getPickupMap.php on line 32
PHP Warning: file_get_contents(https://geocode-maps.yandex.ru/1.x/?geocode=Москва): failed to open stream: operation failed in getPickupMap.php on line 32
PHP Notice: Cannot load data from url: https://geocode-maps.yandex.ru/1.x/?geocode=Москва in getPickupMap.php on line 35

Не могу понять из-за чего время от времени появляются эти ошибки.
  • Вопрос задан
  • 1615 просмотров
Пригласить эксперта
Ответы на вопрос 1
bigton
@bigton
Web-программист
Если добавить в opts
"ssl"=>array(
        "verify_peer"=>false,
        "verify_peer_name"=>false,
    ),
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы