လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> curl_multi_close သုံး. မျိုးစုံ curl connection များကိုမည်သို့မှန်ကန်စွာပိတ်နိုင်မည်နည်း

curl_multi_close သုံး. မျိုးစုံ curl connection များကိုမည်သို့မှန်ကန်စွာပိတ်နိုင်မည်နည်း

gitbox 2025-05-12

PHP တွင် curl_multi_ * function function မိသားစုကိုတစ်ပြိုင်နက်တည်းကွပ်မျက်ရန်အသုံးပြုသည်။ curl_mamulti_close () သည်ဤစီးရီးတွင်ဤစီးရီးတွင်အရေးကြီးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်

curl_multi_ * function စီးရီးကဘာလဲ?

curl_multi_ * function function မိသားစုသည် PHP ရှိကိရိယာတစ်ခုဖြစ်သည်။ သူတို့ကသင့်အားနောက်တစ်ခုမပို့ခင်တစ်ပြိုင်နက်တည်းဖြည့်စွက်ရန်တောင်းဆိုမှုတစ်ခုချင်းစီကိုစောင့်ဆိုင်းခြင်းမရှိဘဲတစ်ပြိုင်နက်တည်း http တောင်းဆိုမှုများကိုတစ်ပြိုင်တည်းပေးရန်ခွင့်ပြုသည်။ ဤနည်းအားဖြင့်တောင်းဆိုမှုများစွာကိုအထူးသဖြင့် APIs သို့မဟုတ်ဝက်ဘ်ဆိုက်များကိုတောင်းခံရန်လိုအပ်သည့်အခါသိသိသာသာလုပ်ဆောင်နိုင်သည်။

ဘုံ curl_multi_ * လုပ်ဆောင်ချက်များမှာ -

  • curl_multi_init () : curl fandles အစပိုင်းတွင်။

  • curl_multi_add_handle () - multi multi multi-curl လက်ကိုင်တစ်ခုထည့်သည်။

  • curl_multi_exec () : curl တောင်းဆိုမှုများကိုကွပ်မျက်ခံရ။

  • curl_multi_getcontent () : ဆံပင်ကောက်ကောက်၏ contents ရရှိသွားတဲ့။

  • curl_multi_close () - curl_multi_init () မှဖန်တီးထားသော Multi Multi Multi လက်ကိုင်ကိုပိတ်ပြီးအရင်းအမြစ်များအားလုံးကိုလွတ်မြောက်စေသည်။

ဘာကြောင့် curl_multi_close () ?

curl_multi_ * function ကို သုံး. curl တောင်းဆိုမှုများစွာကွပ်မျက်ခံရသောအခါတောင်းဆိုမှုတစ်ခုစီသည်လွတ်လပ်ပြီးတောင်းဆိုမှုတစ်ခုစီတွင်ကိုယ်ပိုင်အရင်းအမြစ်သုံးစွဲမှုရှိသည်။ တောင်းဆိုမှုပြီးဆုံးပြီးနောက်ဤအရင်းအမြစ်များကိုဖြန့်ချိနိုင်ရန်အတွက်၎င်းကိုဆက်သွယ်ပြီးသည်နှင့် curltulti_close () connection ကိုပိတ်ရန် Curl_multi_close () ကိုခေါ်ရမည်။

သင် curl_multi_close () ကို မသုံးပါကဤဆံပင်ကောက်ကောက်များသည်မှတ်ဉာဏ်နှင့်အခြားအရင်းအမြစ်များကိုဆက်လက်ယူဆောင်လာပြီးစွမ်းဆောင်ရည်ပြ issues နာများနှင့်မှတ်ဉာဏ်ယိုစိမ့်မှုများကိုဖြစ်ပေါ်စေနိုင်သည်။ ထို့ကြောင့်တောင်းဆိုမှုပြီးဆုံးပြီးနောက်ဤဆက်သွယ်မှုများကိုစနစ်တကျပိတ်ရန်အလွန်အရေးကြီးသည်။

curl_multi_close () အသုံးပြုမှုဥပမာ

curlulti_close () ကို curl converts များအားလုံးကိုပိတ်ရန်မည်သို့အသုံးပြုရမည်ကိုပြသသည့်ဥပမာတစ်ခုဖြစ်သည်။

 <?php
// မျိုးစုံကိုအစပြု cURL လက်ကိုင်
$mh = curl_multi_init();

// တောင်းဆိုဖို့အဘယ်အရာကိုသတ်မှတ်ပါ URL စာရင်း
$urls = [
    "https://gitbox.net/api/endpoint1",
    "https://gitbox.net/api/endpoint2",
    "https://gitbox.net/api/endpoint3"
];

// ကုန်လေှာင်ရုံ cURL လက်ကိုင်
$ch_handles = [];

// တစ်ခုချင်းစီကိုဖန်တီးပါ cURL လက်ကိုင်并添加到 multi လက်ကိုင်中
foreach ($urls as $url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_multi_add_handle($mh, $ch);
    $ch_handles[] = $ch;
}

// မျိုးစုံတောင်းဆိုမှုများလုပ်ဆောင်ပါ
$running = null;
do {
    curl_multi_exec($mh, $running);
} while ($running > 0);

// တစ်ခုချင်းစီကိုတောင်းဆိုမှု၏ပါဝင်မှုကိုရယူပါ cURL လက်ကိုင်
foreach ($ch_handles as $ch) {
    $content = curl_multi_getcontent($ch);
    echo $content . "\n"; // ပြန်လာသောအကြောင်းအရာ output ကို
    curl_multi_remove_handle($mh, $ch);
    curl_close($ch); // တစ်ခုချင်းစီကိုပိတ်ပါ cURL လက်ကိုင်
}

// ရုပ်သိမ်းခြင်း multi လက်ကိုင်
curl_multi_close($mh);
?>

code parsing

  1. မျိုးစုံဆံပင်ကောက်ကောက်လက်ကိုင်များကိုအစပြုပါ

    • curl_multi_init () ကို သုံး. curl တောင်းဆိုမှုများကိုစီမံခန့်ခွဲသော Multi Multipi Multipi Multipi ကိုဖန်တီးရန်။

  2. မျိုးစုံသော curl လက်ကိုင်များထည့်ပါ :

    • URL တစ်ခုစီအတွက် curl လက်ကိုင်တစ်ခုဖန်တီးပါ, သက်ဆိုင်ရာရွေးချယ်စရာများကိုသတ်မှတ်ပါ။ ထို့နောက်ဤလက်ကိုင်များကို curl_multi_add_handle () မှ Multi Multi Multi Multi Multi Multi () တွင်ထည့်ပါ။

  3. တောင်းဆိုမှုကိုလုပ်ဆောင်ပါ

    • တောင်းဆိုမှုများအားလုံးကိုမပြီးမချင်းတောင်းဆိုမှုများအားလုံးကို execute လုပ်ရန် curl_multi_exec () ကို သုံးပါ။

  4. အကြောင်းအရာကိုရယူပါ။ လက်ကိုင်ကိုပိတ်ပါ

    • curl_multi_getcontent () ကိုသုံးပါ။ ပြီးတာနဲ့ curl_multi_remove_handle () ကိုဖြတ်ပြီးလက်ကိုင်မှလက်ကိုင်မှလက်ကိုင်ကိုဖယ်ရှားပြီး curl_close () ကို သုံး. တစ် ဦး ချင်းစီဆံပင်ကောက်ကောက်ကိုပိတ်ပါ။

  5. Multi လက်ကိုင်ကိုပိတ်ပါ

    • နောက်ဆုံးတွင် curl_multi_close () ကိုပိတ်ရန်နှင့်အရင်းအမြစ်များအားလုံးကိုပိတ်ရန်နှင့်အရင်းအမြစ်များအားလုံးကိုအခမဲ့ရယူရန် Curl_multi_close () ကိုခေါ်ပါ။

အကျဉ်းချုပ်

curl_multi_close () ကိုမှန်ကန်သောအသုံးပြုမှုသည်အဓိကအားဖြင့်တောင်းဆိုမှုများစွာအရင်းအမြစ်များကိုအချိန်မီဖြန့်ချိရန်သေချာစေရန်အဓိကခြေလှမ်းတစ်ခုဖြစ်သည်။ အပြိုင်တောင်းဆိုမှုများစွာကိုလုပ်ဆောင်သောအခါ curl_multi_close () ကိုဆက်ပြီးသက်ဆိုင်ရာဆံပင်ကောက်ကောက်များအားလုံးကိုပိတ်ရန်ကွပ်မျက်ခံရပြီးနောက် curl_multi_close () ကိုခေါ်ရန်သတိရပါ။ ၎င်းသည်မှတ်ဥာဏ်ယိုစိမ့်မှုများကိုကာကွယ်ရုံသာမကကုဒ်၏ထိရောက်မှုကိုလည်းပိုမိုကောင်းမွန်စေသည်။