현재 위치: > 최신 기사 목록> curl_share_init ()를 사용하여 여러 컬 요청간에 리소스를 공유하는 방법

curl_share_init ()를 사용하여 여러 컬 요청간에 리소스를 공유하는 방법

M66 2025-05-18

PHP에서 CURL은 HTTP 요청을 보내고 원격 데이터를 얻는 매우 강력한 라이브러리입니다. 일반적으로 각 CURL 요청은 독립적으로 초기화되고 구성되어야하지만 경우에 따라 여러 요청간에 특정 리소스 (연결, 세션 등)를 공유하면 성능이 크게 향상 될 수 있습니다. 현재 Curl_share_init () 함수는 편리합니다. 여러 CURL 요청간에 일부 리소스를 공유하여 반복적 인 연결 설정의 오버 헤드를 줄이고 요청의 효율성을 향상시킬 수 있습니다.

curl_share_init () 함수는 무엇입니까?

curl_share_init () 함수는 여러 컬어 요청간에 데이터를 공유하기 위해 공유 리소스 핸들을 초기화하는 데 사용됩니다. 일반적으로 curl_share_setopt () 와 함께 사용되며 공유 연결, 쿠키 또는 DN 등과 같은 공유 리소스 유형을 설정할 수 있습니다.

이 기능의 기본 구문은 다음과 같습니다.

 $ch = curl_share_init();

curl_share_init () 함수는 후속 공유 설정 및 다중 요청 작업에 사용할 수있는 공유 리소스 핸들을 반환합니다.

curl_share_init ()를 사용하는 이유는 무엇입니까?

  1. 연결 오버 헤드 감소 : 여러 요청이 동일한 도메인 이름 또는 서버에 액세스하면 공유 리소스를 사용하면 중복 연결을 피하고 네트워크 대기 시간 및 리소스 소비를 줄일 수 있습니다.

  2. 공유 세션 데이터 : 예를 들어, 쿠키, DNS 또는 파일 디스크립터와 같은 공유 리소스는 각 요청이 이러한 컨텐츠를 개별적으로 처리하지 못하고 요청 효율성을 향상시킬 수 있습니다.

  3. 성능 향상 : 특히 많은 수의 요청의 경우 중복 연결 생성 및 파괴를 줄임으로써 응용 프로그램 성능을 향상시킵니다.

curl_share_init ()를 사용하는 방법?

다음은 Curl_share_init ()를 사용하여 요청 효율성을 향상시키기 위해 여러 CURL 요청간에 리소스를 공유하는 방법을 보여주는 간단한 예입니다.

 <?php
// 공유 리소스 초기화
$share = curl_share_init();

// 공유 옵션을 설정하십시오,공유 된 경우 cookies
curl_share_setopt($share, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

// 다중 초기화 cURL 묻다
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL, "https://m66.net/api/data1");
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch1, CURLOPT_SHARE, $share);  // 자원을 공유하십시오

$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, "https://m66.net/api/data2");
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch2, CURLOPT_SHARE, $share);  // 자원을 공유하십시오

// 执行묻다
$response1 = curl_exec($ch1);
$response2 = curl_exec($ch2);

// 关闭묻다
curl_close($ch1);
curl_close($ch2);

// 关闭자원을 공유하십시오
curl_share_close($share);

// 응답 데이터 처리
echo "Response 1: " . $response1 . "\n";
echo "Response 2: " . $response2 . "\n";
?>

코드 구문 분석

  1. 공유 리소스 초기화 : Curl_share_init ()를 호출하여 공유 리소스 핸들 $ 공유를 만듭니다. 이는 후속 공유 작업의 기초입니다.

  2. 공유 옵션 설정 : curl_share_setopt ()를 사용하여 공유 리소스 유형을 설정하십시오. 이 예에서는 공유 쿠키 데이터를 설정합니다.

  3. 여러 컬 요청 초기화 : 각각 $ CH1$ CH2 에 대해 두 개의 컬 요청을 작성하고 다른 API 인터페이스에 액세스하도록 설정하십시오. Curlopt_share 옵션을 통해 Curl에 공유 리소스 핸들 $ 공유를 사용해야한다고 말합니다.

  4. 요청 실행 : 두 개의 요청을 별도로 실행하고 반환 된 응답을 $ response1$ response2 에 저장하십시오.

  5. 닫기 요청 및 공유 리소스 : 모든 요청이 완료된 후 Curl_Close () 에 전화하여 CURL 요청을 닫고 마지막으로 Curl_share_Close ()를 호출하여 공유 리소스를 닫습니다.

curl_share_init () 에 대한 일반적인 옵션

다음은 curl_share_setopt ()를 사용하여 공유 리소스를 설정할 때 몇 가지 일반적인 공유 옵션입니다.

  • curl_lock_data_cookie : 공유 쿠키.

  • curl_lock_data_dns : DNS 데이터를 공유합니다.

  • curl_lock_data_ssl_session : SSL 세션을 공유하십시오.

응용 프로그램 시나리오에 따라 적절한 공유 옵션을 선택하면 성능을 효과적으로 향상시킬 수 있습니다.

요약

Curl_share_init () 함수를 통해 PHP 개발자는 여러 CURL 요청간에 리소스를 공유하여 연결의 중복 생성을 줄이고 요청 효율성을 향상시킬 수 있습니다. 동시 요청이 높은 시나리오에서 공유 리소스를 사용하면 서버로드가 크게 줄어들고 시스템 성능을 향상시킵니다. 따라서 curl_share_init ()를 사용하여 마스터 링 및 합리적으로 CURL 요청을 최적화하는 데 중요한 기술입니다.