我正在利用this script来获取我的Twitter Feed的第一项。但是,它很慢(现在加载页面需要3到4秒)。为什么这么慢?
以下是我如何使用它。
require_once 'rss_php.php'; //see link above
$rss = new rss_php;
$rss->load('http://twitter.com/statuses/user_timeline/XXXXXX.rss');
$feed = $rss->getItems(false, 1);
echo $feed[0]['title'];
echo $feed[1]['title'];
我确实收到了这个PHP通知:
注意:未定义的变量:tempNode 在 C:\ WAMP \ WWW \ rss_php.php 在第137行
我不知道为什么因为这有效,第137行是这一行:
return $tempNode;
感谢大家的帮助。我很欣赏任何关于加快这一点的建议。
答案 0 :(得分:3)
从远程位置获取内容可能会引入一些相当丑陋的加载问题。
尝试在本地文件中保存RSS源的内容,并查看从本地驱动器加载时问题是否仍然存在。 如果这样可以解决问题,那么您应该每隔一段时间调查一次Feed的内容。
答案 1 :(得分:2)
首先,你的pastbin的第110行正在分配一个从未声明过的变量。因此,对未声明变量的任何请求或分配都将执行此操作。从我看到它应该就像在extractDOM方法的函数调用下面添加$tempNode = Array();
一样简单。
接下来,由于这是来自其他人的脚本,我建议您询问他们可以做些什么来提高性能。从pastbin的内容来看,我没有看到任何详细的内容,也没有看到你错误地使用库,但最终他们会更清楚。
答案 2 :(得分:0)
在rss_php.php(v.1免费版)文件中的第138行之后粘贴:
...
if (!isset($tempNode)){
$tempNode = null;
}
return $tempNode;
...
享受
)
答案 3 :(得分:-2)
摆脱那个返回$ tempNode;注意很容易,但不是你的问题,它只需要在extractDOM函数中的forloop中定义。
优化您的PHP代码是一项艰巨的任务。我假设api调用是大部分时间,但如果你想尝试加速你的代码,我会看一下如何做的教程:
http://ilia.ws/archives/12-PHP-Optimization-Tricks.html
http://progtuts.info/55/php-optimization-tips/
http://hungred.com/useful-information/php-micro-optimization-tips/