vim
linux
通过普通的foreach循环获取网页数据'http://www.baidu.com', 'google'=>'http://www.google.com.hk', 'youku'=>'http://www.youku.com', 'sina'=>'http://www.qq.com');foreach($url as $k=>$v){ $buffer[$k] = file_get_contents($v,0,null,0,512);}var_dump($buffer);$end = microtime_float();$times = $end - $start;$txt = 'start:'.$start.'\r\n'.'endtime:'.$end.'\r\n'.'times:'.$times.'\r\n'; file_put_contents('/home/wwwroot/default/test/time.txt',$txt,FILE_APPEND);?>
通过popen开启新的进程来获取数据'http://www.baidu.com', 'google'=>'http://www.google.com.hk', 'youku'=>'http://www.youku.com', 'sina'=>'http://www.qq.com');foreach($url as $k=>$v){ $urlarr[$k] = popen('php /home/wwwroot/default/test/geturl.php '.$v,'r');}foreach($urlarr as $k_k=>$k_v){ while(!feof($k_v)){ $buffer[$k_k] = fgets($k_v,4096); } pclose($k_v);}var_dump($buffer);$end = microtime_float();$times = $end - $start;$txt = 'start:'.$start.'\r\n'.'endtime:'.$end.'\r\n'.'times:'.$times.'\r\n'; file_put_contents('/home/wwwroot/default/test/time.txt',$txt,FILE_APPEND);?>
geturl.php页面代码为:#!/usr/bin/php
执行结果对比图发现,通过开启新进程php脚本执行的效率比用foreach执行的效率要高很多。
开启php的 CLI模式