我有一些使用OEmbed PHP 库的继承代码来获取 Vimeo 视频的嵌入代码。截至今天(2014 年 1 月 31 日)的某个时候,当在该库中调用curl_exec函数时,它开始冻结。在今天之前,这段代码一直运行良好。认为这是服务器的一些问题,我将代码带到了我的本地开发机器上,令我惊讶的是它也在那里冻结了。
为了尝试提出一个简单的可重现代码,我仅将 JSON 信息的 curl 下载提取到以下脚本中:
<?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/ ”,那么我会得到相同的行为。但是,如果我将其更改为其他一些非 vimeo URL,它就可以正常工作。
有人知道为什么它可能会冻结吗?