首页 >后端开发 >php教程 >CURL多线程不执行一直在请求

CURL多线程不执行一直在请求

WBOY
WBOY原创
2016-08-04 09:21:101318浏览

代码如下
`

ini_set('max_execution_time',0);

for($i = 6055;$i >3055;$i--){

<code>$connomains[] = 'http://www.xxxxx.com/index.php&id='.$i;</code>

}

$mh = curl_multi_init();

foreach ($connomains as $i => $url) {

<code>$conn[$i]=curl_init($url);
curl_setopt($conn[$i],CURLOPT_RETURNTRANSFER,1);
curl_multi_add_handle ($mh,$conn[$i]);</code>

}

$active = null;
do {

<code>$mrc = curl_multi_exec($mh, $active);</code>

} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) {

<code>if (curl_multi_select($mh) != -1) {
    do {
        $mrc = curl_multi_exec($mh, $active);
    } while ($mrc == CURLM_CALL_MULTI_PERFORM);
}</code>

}

foreach ($connomains as $i => $url) {

<code>$res[$i]=curl_multi_getcontent($conn[$i]);
$res[$i] = json_decode($res[$i],true);
var_dump($res[$i]);
curl_close($conn[$i]);
</code>

}
print_r($res);

?>
`

页面源地址是http://www.4wei.cn/archives/1001877

回复内容:

代码如下
`

ini_set('max_execution_time',0);

for($i = 6055;$i >3055;$i--){

<code>$connomains[] = 'http://www.xxxxx.com/index.php&id='.$i;</code>

}

$mh = curl_multi_init();

foreach ($connomains as $i => $url) {

<code>$conn[$i]=curl_init($url);
curl_setopt($conn[$i],CURLOPT_RETURNTRANSFER,1);
curl_multi_add_handle ($mh,$conn[$i]);</code>

}

$active = null;
do {

<code>$mrc = curl_multi_exec($mh, $active);</code>

} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) {

<code>if (curl_multi_select($mh) != -1) {
    do {
        $mrc = curl_multi_exec($mh, $active);
    } while ($mrc == CURLM_CALL_MULTI_PERFORM);
}</code>

}

foreach ($connomains as $i => $url) {

<code>$res[$i]=curl_multi_getcontent($conn[$i]);
$res[$i] = json_decode($res[$i],true);
var_dump($res[$i]);
curl_close($conn[$i]);
</code>

}
print_r($res);

?>
`

页面源地址是http://www.4wei.cn/archives/1001877

代码的意思是请求3000次后在执行输出,把次数改小点看看

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn