PHP单线程和多线程调用
Posted 小冷
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP单线程和多线程调用相关的知识,希望对你有一定的参考价值。
<?php
//curl_multi_init()
session_start();
$url = ‘http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_share‘;
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, ‘Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)‘);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT,43200);
$dxycontent = curl_exec($ch);
curl_close($ch);
echo $dxycontent;
?>
<?php $urlArray = array ( "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=100000&end=5000", "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=105000&end=5000", "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=110000&end=5000", "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=115000&end=5000", "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=120000&end=5000", "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=125000&end=5000", "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=130000&end=5000", "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=140000&end=5000", "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=145000&end=5000" ); $mh = curl_multi_init(); $conn = Array(); foreach($urlArray AS $key => $url){ $conn[$key] = curl_init(); curl_setopt ($conn[$key], CURLOPT_URL, $url); curl_setopt($conn[$key], CURLOPT_USERAGENT, ‘Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)‘); curl_setopt ($conn[$key], CURLOPT_RETURNTRANSFER, 1); curl_setopt($conn[$key], CURLOPT_TIMEOUT,43200); curl_multi_add_handle($mh,$conn[$key]); } $running=null; // 执行批处理句柄 do { //usleep(10000); curl_multi_exec($mh,$running); } while ($running > 0 ); $results = Array(); foreach($conn as $ckey => $cvalue){ curl_close ($conn[$ckey]); //关闭语柄 $results[$ckey] = curl_multi_getcontent($conn[$ckey]); curl_multi_remove_handle ( $mh, $conn[$ckey] ); //释放资源
} curl_multi_close($mh); print_r( $results); ?>
bat调用
@echo off
echo "begin..................................."
d: \xampp\htdocs\trial
php moveUser_1.php
pause
以上是关于PHP单线程和多线程调用的主要内容,如果未能解决你的问题,请参考以下文章