현재 위치: > 최신 기사 목록> php에서 curl_share_init ()를 사용하는 최소 실행 가능한 예제

php에서 curl_share_init ()를 사용하는 최소 실행 가능한 예제

M66 2025-05-18

PHP에서 Curl_share_init () 함수는 공유 컬 핸들을 초기화하는 데 사용되며, 이는 여러 컬 세션에서 쿠키 또는 캐시와 같은 특정 리소스를 공유 할 수 있습니다. 이 기능은 특히 유용하며 여러 CURL 요청에서 특정 리소스를 재사용 할 때 불필요한 리소스 오버 헤드를 효과적으로 줄일 수 있습니다.

다음은 최소한의 실행 가능한 예제와 함께 curl_share_init () 함수를 사용하는 방법에 대한 자세한 설명입니다.

1. curl_share_init () 함수 소개

curl_share_init () 함수는 공유 컬 핸들을 초기화하는 데 사용됩니다. 이 핸들은 일부 컬 세션에 대한 리소스를 공유하는 데 사용할 수 있습니다. 공유 핸들을 사용하면 여러 컬 세션이 쿠키, 파일 핸들 등과 같은 자원을 공유 할 수 있습니다.

문법

 $share = curl_share_init();

매개 변수

  • 이 함수는 매개 변수를 허용하지 않으며 공유 핸들을 직접 반환합니다.

반환 값

  • 컬 공유 핸들 ( Curlsh 유형)을 반환합니다.

  • 초기화가 실패하면 False가 반환됩니다.

2. 여러 요청간에 자원을 공유하는 방법은 무엇입니까?

curl_share_init () 함수를 사용하면 여러 컬 세션에 대한 리소스를 공유 할 수 있습니다. 아래에서는 최소한으로 런닝 가능한 예제를 사용 하여이 기능을 사용하는 방법을 설명합니다.

3. 최소 런닝 가능한 예

이 예에서는 두 개의 컬 세션을 만들고 공유 핸들을 사용하여 쿠키를 공유하는 방법을 보여줍니다.

 <?php
// 공유 핸들을 초기화하십시오
$share = curl_share_init();

// 첫 번째를 초기화하십시오 cURL 세션
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL, 'https://m66.net');
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);

// 공유 핸들을 첫 번째 핸들로 변환하십시오 cURL 세션关联
curl_setopt($ch1, CURLOPT_SHARE, $share);

// 첫 번째를 실행하십시오 cURL 묻다
$response1 = curl_exec($ch1);
if ($response1 === false) {
    echo "cURL Error: " . curl_error($ch1);
}
echo "Response from the first request: " . substr($response1, 0, 100) . "...<br>";

// 두 번째를 초기화하십시오 cURL 세션
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, 'https://m66.net');
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);

// 공유 핸들을 두 번째로 변환하십시오 cURL 세션关联
curl_setopt($ch2, CURLOPT_SHARE, $share);

// 두 번째를 실행하십시오 cURL 묻다
$response2 = curl_exec($ch2);
if ($response2 === false) {
    echo "cURL Error: " . curl_error($ch2);
}
echo "Response from the second request: " . substr($response2, 0, 100) . "...<br>";

// 폐쇄 cURL 세션
curl_close($ch1);
curl_close($ch2);

// 폐쇄共享句柄
curl_share_close($share);
?>

코드 설명

  1. 공유 핸들 초기화 :
    curl_share_init ()를 사용하여 공유 리소스 (예 : 쿠키)에 사용될 공유 핸들을 초기화하십시오.

  2. 컬 세션 초기화 :
    두 개의 컬 세션 ( $ CH1$ CH2 )을 초기화하고 URL을 https://m66.net 으로 설정합니다.

  3. 공유 핸들 :
    curl_setopt () 로 공유 핸들을 설정하고 각 컬 세션과 연결하십시오. 이는 두 세션간에 동일한 자원 (예 : 쿠키)이 공유 될 것임을 의미합니다.

  4. 요청을 실행하십시오 .
    curl_exec ()를 사용하여 컬 요청을 실행하고 응답을받습니다. 실행 중에 오류가 발생하면 Curl_Error ()를 사용하여 오류 메시지를 출력하십시오.

  5. 리소스 닫기 :
    스크립트가 끝나면 각 컬 세션을 닫고 공유 핸들을 닫아 리소스를 제거합니다.

4. 요약

curl_share_init ()를 사용하면 여러 컬 세션간에 리소스를 공유하여 효율성을 높이고 중복 작업을 줄일 수 있습니다. 이 기능은 쿠키 또는 캐시 데이터 공유와 같은 여러 요청에서 동일한 리소스를 공유 해야하는 시나리오에 특히 적합합니다. 위의 샘플 코드를 사용하면 PHP에서이를 구현하는 방법을 배울 수 있습니다.

이 기사가 도움이되기를 바랍니다! 더 많은 질문이 있으시면 웹 사이트를 방문하십시오.