How to speed up cURL in php?(如何加速php中的cURL?)
问题描述
我正在尝试从 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?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何加速php中的cURL?
基础教程推荐
- 有什么方法可以用编码 UTF-8 而不是 Unicode 返回 PHP`json_encode`? 2021-01-01
- 学说 dbal querybuilder 作为准备好的语句 2022-01-01
- YouTube API v3 点赞视频,但计数器不增加 2022-01-01
- 如何在 Laravel 5.3 注册中添加动态下拉列表列? 2021-01-01
- 如何替换eregi() 2022-01-01
- 如何在 Laravel 中使用 React Router? 2022-01-01
- Cron Jobs 调用带有变量的 PHP 脚本 2022-01-01
- PHP PDO MySQL 查询 LIKE ->多个关键词 2021-01-01
- PHP 类:全局变量作为类中的属性 2021-01-01
- 在PHP中根据W3C规范Unicode 2022-01-01
