찾다

 >  Q&A  >  본문

Curl_multi_init 단일 스레드에서 다중 스레드 문제

function post($url, $data = '', $head = 'application/x-www-form-urlencoded')
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type:{$head};charset=utf-8;"));
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
    curl_setopt($ch, CURLOPT_HEADER, 0);
    if (!empty($data)) {
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    }
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
}

$url = 'http://localhost/test.php';
$res = [];
//模拟100条数据
for ($i=0; $i < 100; $i++) { 
    $res[$key] = post($url, 'key='.$i);
}
var_dump($res);

curl_multi_init를 멀티스레딩으로 변경하는 방법을 알려주세요. 내 생각은 $data 배열을 array_chunk($data, 15, true);로 분할한 다음 CURL을 수행하는 것입니다. 하지만 저는 초보자이고 온라인 예제를 이해하지 못합니다.

Bob pangBob pang934일 전1021

모든 응답(0)나는 대답할 것이다

답장 없음
  • 취소회신하다