현재 위치: > 최신 기사 목록> php curl_multi_add_handle () 기능 : 여러 컬 핸들 세션을 효율적으로 관리하는 방법

php curl_multi_add_handle () 기능 : 여러 컬 핸들 세션을 효율적으로 관리하는 방법

M66 2025-06-19

php curl_multi_add_handle () 기능 : 여러 컬 핸들 세션을 효율적으로 관리하는 방법

네트워크 요청을 개발할 때 PHP의 CURL 기능 라이브러리는 가장 일반적으로 사용되는 도구 라이브러리 중 하나입니다. GET 및 POST 요청, 요청 헤더 설정, 쿠키 보내기 및 수신 등을 포함하여 다양한 HTTP 요청을 수행하기위한 많은 기능을 제공합니다.

개발 중에는 종종 여러 요청을 동시에 보내야합니다. 각 요청이 별도의 컬 핸들을 사용하는 경우 자원 낭비가 발생할 수 있습니다. PHP는 여러 요청을 효율적으로 관리하기 위해 Curl_multi_add_handle () 함수를 제공하여 여러 컬 핸들을 세션에 추가하여 관리를 단순화하고 효율성을 향상시킬 수 있습니다.

curl_multi_add_handle () 함수 구문

curl_multi_add_handle () 함수의 기본 구문은 다음과 같습니다.

 resource curl_multi_add_handle ( resource $mh, resource $ch )

매개 변수 설명 :

  • $ MH : 초기 컬 세션 핸들.
  • $ CH : 세션에 추가 해야하는 새로운 컬 핸들.

이 기능의 기능은 세션 핸들 $ MH에 새 컬 핸들 $ ch를 추가하는 것입니다. 반환 값은 후속 관리를위한 컬 멀티 핸들입니다.

curl_multi_add_handle () 사용 예제

다음은 curl_multi_add_handle () 함수를 사용한 샘플 코드입니다.

 <?php
// 초기화 acURL세션 핸들
$mh = curl_multi_init();
<p>// 첫 번째를 만듭니다cURL핸들<br>
$ch1 = curl_init();<br>
curl_setopt($ch1, CURLOPT_URL, "<a rel="noopener" target="_new" class="" href="https://www.example.com/api1">https://www.example.com/api1</a>");<br>
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);</p>
<p>// 첫 번째를 넣으십시오cURL핸들添加到会话中<br>
curl_multi_add_handle($mh, $ch1);</p>
<p>// 두 번째를 만듭니다cURL핸들<br>
$ch2 = curl_init();<br>
curl_setopt($ch2, CURLOPT_URL, "<a rel="noopener" target="_new" class="" href="https://www.example.com/api2">https://www.example.com/api2</a>");<br>
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);</p>
<p>// 두 번째를 넣으십시오cURL핸들添加到会话中<br>
curl_multi_add_handle($mh, $ch2);</p>
<p>// 모든 요청이 완료 될 때까지 루프 실행<br>
do {<br>
$status = curl_multi_exec($mh, $running);<br>
} while ($status === CURLM_CALL_MULTI_PERFORM || $running);</p>
<p>// 첫 번째 요청의 결과를 얻으십시오<br>
$response1 = curl_multi_getcontent($ch1);<br>
echo "Response 1: " . $response1;</p>
<p>// 두 번째 요청의 결과를 얻으십시오<br>
$response2 = curl_multi_getcontent($ch2);<br>
echo "Response 2: " . $response2;</p>
<p>// 关闭세션 핸들<br>
curl_multi_remove_handle($mh, $ch1);<br>
curl_multi_remove_handle($mh, $ch2);<br>
curl_multi_close($mh);<br>
?>

위의 예에서는 먼저 curl_multi_init () 함수를 사용하여 컬 세션 핸들 $ MH를 초기화합니다. 다음으로 두 개의 독립 컬 핸들 $ CH1과 $ CH2가 생성되고 요청 매개 변수가 설정됩니다. 그런 다음 curl_multi_add_handle () 함수를 사용 하여이 두 핸들을 세션에 추가합니다. curl_multi_exec () 함수를 사용하면 모든 요청이 완료 될 때까지 루프에서 여러 요청을 실행합니다. 마지막으로, 각 요청의 결과는 curl_multi_getContent () 함수를 통해 얻어지고 출력합니다.

요약

curl_multi_add_handle () 함수는 여러 컬 핸들을 관리하기위한 PHP의 중요한 도구입니다. 네트워크 요청의 효율성을 향상시키고 코드 구조를 최적화 할 수 있습니다. 실제 개발에서는 Curl_Multi_Remove_handle () 및 Curl_Multi_Close ()와 같은 기능을 결합하여 네트워크 요청의 처리 흐름을 더욱 향상시킬 수 있습니다.

Curl_multi_add_handle () 함수를 합리적으로 사용하면 PHP에서 여러 HTTP 요청을보다 효율적으로 관리하고 실행하여 프로그램 성능 및 유지 관리를 향상시킬 수 있습니다.