我正在尝试从 Twitter 嵌入推文.所以,我使用 cURL 来取回 json.我写了一个小测试,但测试大约需要 5 秒,当我在本地运行时.所以,我不确定我在这里做错了什么.
I'm trying to get embed tweet from Twitter. So, I'm using cURL to get the json back. I wrote a little test but the test takes around 5 seconds as well as when I run locally. So, I'm not sure what am I doing wrong here.
public function get_tweet_embed($tw_id) {
$json_url = "https://api.twitter.com/1/statuses/oembed.json?id={$tw_id}&align=left&omit_script=true&hide_media=false";
$ch = curl_init( $json_url );
$start_time = microtime(TRUE);
$JSON = curl_exec($ch);
$end_time = microtime(TRUE);
echo $end_time - $start_time; //5.7961111068726
return $this->get_html($JSON);
}
private function get_html($embed_json) {
$JSON_Data = json_decode($embed_json,true);
$tw_embed_code = $JSON_Data["html"];
return $tw_embed_code;
}
当我粘贴链接并从浏览器进行测试时,速度非常快.
When I paste the link and test it from the browser it's really fast.
关于环境,我在 PHP 中观察到,cURL 通常在大多数环境中运行得非常快,除了在 CPU 低且网络较慢的地方表现.例如,在我的 MAMP 安装的 localhost 上,curl 很快,在较大的亚马逊实例上,curl 很快.但是在一个糟糕的小型主机上,我看到它存在性能问题,连接速度明显变慢.不过,我不确定为什么会变慢.此外,它肯定不会慢 5 秒.
With respect to environment, I've observed in PHP that cURL typically runs very fast in most environments except in places where there is low CPU and there is slower network performance. For example, on localhost on my MAMP installation, curl is fast, on a larger amazon instance, curl is fast. But on a small crappy hosting, i've seen it have performance issues where it is noticeably slower to connect. Though, i'm not sure exactly why that is slower. Also, it sure wasn't 5 seconds slower.
为了帮助确定是 PHP 还是您的环境,您应该尝试通过命令行与 curl 交互.至少,如果还有 5 秒,您就可以排除 PHP 代码的问题.
to help determine if its PHP or your environment, you should try interacting with curl via the command line. At least that you'll be able to rule out PHP code being the problem if its still 5 seconds.
这篇关于如何加速php中的cURL?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!