问题描述
我正在尝试使用此代码来解析数组的 xml 元素。使用少量元素就可以正常工作, 但是当元素超过 50 时,就会出现问题。它会非常快地减慢速度,甚至整个过程都会堆栈。
$url=array('{250 domain names}')
foreach($url as $url){
$xml = simplexml_load_file('http://data.alexa.com/data?cli=10&dat=snbamz&url='.$url);
$rank=isset($xml->SD[1]->POPULARITY)?$xml->SD[1]->POPULARITY->attributes()->TEXT:0;
$web=(string)$xml->SD[0]->attributes()->HOST;
echo "$web ---> $rank<br>";
}
我需要至少 250 个域来放置 PHP 数组,但输出会得到堆栈。 是否有其他编码方法,因此输出不会出现减速? 提前谢谢。
解决方法
正如 Barmar 所指出的,您背靠背执行了过多的 http 请求。可能会研究批处理 curl 请求。