У меня есть унаследованный код, который использует OEmbed PHP Library, чтобы получить код для встраивания видео Vimeo. По состоянию на сегодняшний день (1/31/2014) он начал замораживаться, когда в этой библиотеке вызывается функция curl_exec. До сегодняшнего дня этот код работает отлично. Подумав, что это проблема с сервером, я привел код на свою локальную машину разработки, и, к моему удивлению, он тоже замораживается.PHP CURL зависает на exec for Vimeo
Чтобы попытаться придумать простой воспроизводимым бит кода, который я добытой только локон загрузку информации JSON в следующий сценарий:
<?php
$url = "http://vimeo.com/api/oembed.json?url=http%3A%2F%2Fvimeo.com%2F64279006&maxwidth=&maxheight=&format=json";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
if($data = curl_exec($ch)){
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if($http_code >= 200 && $http_code < 300){
$result["success"] = true;
$result["data"] = $data;
$result["http_code"] = $http_code;
}else{
$result["success"] = false;
$result["http_code"] = $http_code;
$result["url"] = $url;
}
}else{
$result["success"] = false;
$result["curl_error_code"] = curl_errno($ch);
};
curl_close($ch);
print_r($result);
достаточно интересно, если я изменить URL на «http://vimeo.com/api/oembed.json?url=http%3A%2F%2Fvimeo.com%2F64279006», " http://vimeo.com/api/oembed.json "или даже просто" http://vimeo.com/ ", тогда я получаю такое же поведение. Но если я изменю его каким-то другим URL-адресом без vimeo, он отлично работает.
У кого-нибудь есть идея, почему это может замерзнуть?