/**
* 多线程请求链接
* 来自官方参考例程修改
*
* @param array $urlArr
* @author Xinwen Mao
*/
public static function curl_multi($urlArr) {
// 创建批处理cURL句柄
$mh = curl_multi_init();
for ($i = 0; $i < count($urlArr); $i++) {
// 创建一对cURL资源
$chs [$i] = curl_init();
// 设置URL和相应的选项
curl_setopt($chs [$i], CURLOPT_URL, $urlArr [$i]);
curl_setopt($chs [$i], CURLOPT_HEADER, 0);
curl_setopt($chs [$i], CURLOPT_RETURNTRANSFER, 1); // 不输出返回内容
// curl_setopt($chs [$i], CURLOPT_PROXY, '10.211.55.3:8888'); // 代理调试
// 增加句柄
curl_multi_add_handle($mh, $chs [$i]);
}
$active = null;
do {
curl_multi_exec($mh, $active);
} while ($active > 0);
// 关闭全部句柄
foreach ($chs as $ch) {
curl_multi_remove_handle($mh, $ch);
}
curl_multi_close($mh);
}PHP多线程异步请求HTTP
最新推荐文章于 2021-03-19 00:02:35 发布
本文介绍了一种使用PHP实现的多线程并发请求方法,通过cURL_multi_init等函数进行多链接批量请求处理,有效提升网络请求效率。
970

被折叠的 条评论
为什么被折叠?



