လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> တောင်းဆိုမှုများစွာသည်တစ်ပြိုင်နက်တည်းဖြစ်ကြောင်း curl_multi_close ၏ချောမွေ့သောကွပ်မျက်မှုကိုမည်သို့သေချာအောင်လုပ်ရမည်နည်း

တောင်းဆိုမှုများစွာသည်တစ်ပြိုင်နက်တည်းဖြစ်ကြောင်း curl_multi_close ၏ချောမွေ့သောကွပ်မျက်မှုကိုမည်သို့သေချာအောင်လုပ်ရမည်နည်း

gitbox 2025-05-12

တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုပြုလုပ်သောအခါ PHP တွင် curl extension သည်တစ်ချိန်တည်းတွင် HTTP တောင်းဆိုမှုများကိုတစ်ချိန်တည်းပို့ရန်အတွက်အစီအစဉ်စွမ်းဆောင်ရည်ကိုတိုးတက်စေနိုင်သည်။ သို့သော်တောင်းဆိုမှုများကိုကိုင်တွယ်သည့်အခါအရင်းအမြစ်များကိုစနစ်တကျဖြန့်ချိပြီးမှတ်စုများယိုစိမ့်မှုသို့မဟုတ်လက်ကိုင်ယိုစိမ့်မှုများကိုရှောင်ရှားရန်မည်သို့သေချာစေနိုင်သနည်း။ သယံဇာတအရင်းအမြစ်ဖြန့်ချိမှုကိုသေချာစေရန် curlti_close function ကိုမည်သို့မှန်ကန်စွာအသုံးပြုရမည်ကိုကျွန်ုပ်တို့အာရုံစိုက်ပါမည်။

1 ။ curl_multi_close function ကဘာလဲ။

curl_multi_clock function ကို curl multi-handle ကိုပိတ်ပြီး၎င်းနှင့်ဆက်စပ်သောအရင်းအမြစ်များအားလုံးကိုဖြန့်ချိရန်အသုံးပြုသည်။ curl_multi_init ကို သုံး. မျိုးစုံလက်ကိုင်ကို ဖန်တီး. တောင်းဆိုမှုများကိုပေးပို့ရန်အတွက်တောင်းဆိုမှုများကိုပေးပို့ရန်အတွက်တောင်းဆိုမှုများအားလုံးကိုထိုလက်ကိုင်မှတဆင့်စီမံခန့်ခွဲနိုင်သည်။ မှတ်ဥာဏ်ယိုစိမ့်မှုများကိုရှောင်ရှားနိုင်ရန်အတွက်တောင်းဆိုမှုများအားလုံးကိုဖြည့်စွက်ပြီးပါက curl_multi_close ကို သက်ဆိုင်ရာအရင်းအမြစ်များကိုဖြန့်ချိရန်တောင်းဆိုရန်လိုအပ်သည်။

2 ။ curl_multi_close ကို သုံးရန်မှန်ကန်သောဖြစ်စဉ်ကို

တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများတွင်အောက်ပါအဆင့်များသည်များသောအားဖြင့်ပါ 0 င်သည်။

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

  2. တောင်းဆိုမှုများအားလုံးကိုလုပ်ဆောင်ပြီးသူတို့ပြီးအောင်စောင့်ပါ။

  3. တောင်းဆိုမှုတစ်ခုစီအတွက်တုန့်ပြန်မှုအချက်အလက်များကိုမှန်ကန်စွာလုပ်ဆောင်ရန်သေချာစေပါ။

  4. Multi-hands ကိုပိတ်ပြီးအရင်းအမြစ်ကိုပိတ်ရန် curl_multi_close function ကိုသုံးပါ။

ထို့နောက်အခြေခံကုဒ်နမူနာတစ်ခုက curl_multi_close ကို မှန်ကန်စွာမည်သို့အသုံးပြုရမည်ကိုပြသသည်။

 <?php
// 1. ဖြစ်ပေါ်လာခြင်း cURL မျိုးစုံလက်ကိုင်
$mh = curl_multi_init(); // 创建一个မျိုးစုံလက်ကိုင်

// 2. တစ်ခုတည်းဖန်တီးပါ cURL ရုံးထိုင်အချိန်ကာလ并添加到မျိုးစုံလက်ကိုင်中
$ch1 = curl_init('http://gitbox.net/api/request1');
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
curl_multi_add_handle($mh, $ch1);

$ch2 = curl_init('http://gitbox.net/api/request2');
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
curl_multi_add_handle($mh, $ch2);

// 3. မျိုးစုံတောင်းဆိုမှုများလုပ်ဆောင်ပါ
do {
    $status = curl_multi_exec($mh, $active);
    if ($active) {
        curl_multi_select($mh); // ဖြည့်စွက်ရန်တောင်းဆိုမှုကိုစောင့်ပါ
    }
} while ($active && $status == CURLM_OK);

// 4. တုံ့ပြန်မှုဒေတာကိုရယူပါ
$response1 = curl_multi_getcontent($ch1);
$response2 = curl_multi_getcontent($ch2);

// 5. ရုပ်သိမ်းခြင်း cURL ရုံးထိုင်အချိန်ကာလ
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);

// 6. အရင်းအမြစ်များကိုအခမဲ့
curl_close($ch1);
curl_close($ch2);

// 7. ရုပ်သိမ်းခြင်းမျိုးစုံလက်ကိုင်
curl_multi_close($mh);

echo "မေးမြန်း1တုံ့ပြန်ချက်: " . $response1 . "\n";
echo "မေးမြန်း2တုံ့ပြန်ချက်: " . $response2 . "\n";
?>

3 ။ မှတ်စုဖို့အရာ

  • အရင်းအမြစ်ဖြန့်ချိနိုင်ရန်အမိန့် - တစ် ဦး ချင်း စီ curl session တစ်ခုချင်းစီကိုမပိတ်မီလက်ကိုင်မျိုးစုံမှဖယ်ထုတ်ရန်သေချာအောင်လုပ်ပါ။ ဒီလိုမှမဟုတ်ရင်လက်ကိုင်ကိုမှားယွင်းစွာဖြန့်ချိနိုင်ပြီးမှတ်ဉာဏ်ယိုစိမ့်မှုဖြစ်စေနိုင်သည်။

  • အမှားကိုင်တွယ်ခြင်း - curl_multi_exec ကိုကွပ်မျက်စဉ်အတွင်းတောင်းဆိုမှုတစ်ခုစီ၏ကွပ်မျက်မှုအခြေအနေကိုစစ်ဆေးရန်သင်ဂရုပြုသင့်သည်။ အကယ်. တောင်းဆိုမှုသည်ပျက်ကွက်ပါကအမှားကိုအချိန်မီကိုင်တွယ်သင့်ပြီးသက်ဆိုင်ရာအရင်းအမြစ်များကိုဖြန့်ချိသင့်သည်။

  • စွမ်းဆောင်ရည် optimization - တောင်းဆိုမှုအမြောက်အများရှိလျှင်မလိုအပ်သောပိတ်ဆို့ခြင်းကိုလျှော့ချပါ။ CURL_Multi_Select ဖြင့် CPU ကို အသုံးပြု. အသုံးပြုနိုင်သည်။

4 ။ အကျဉ်းချုပ်

curl_multi_cloco_clock function ကိုမှန်ကန်စွာအသုံးပြုခြင်းသည်တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများတွင်အရင်းအမြစ်များကိုလွှတ်ပေးရန်အလွန်အရေးကြီးသည်။ အထက်ပါလုပ်ငန်းစဉ်ကိုလိုက်နာခြင်းအားဖြင့် ဆံပင် ကောက်ကောက်နှင့်လက်ကိုင်ပေါင်းစုံကိုမှန်ကန်စွာပိတ်ထားခြင်းအားဖြင့်မှတ်ဥာဏ်ယိုစိမ့်မှုများကိုရှောင်ရှားရန်သာမကပရိုဂရမ်တည်ငြိမ်မှုနှင့်စွမ်းဆောင်ရည်ကိုလည်းတိုးတက်စေသည်။ အထူးသဖြင့်မြင့်မားသောတစ်ပြိုင်နက်တည်းဖြစ်စဉ်များတွင်အရင်းအမြစ်များကိုဆင်ခြင်တုံတရားစီမံခန့်ခွဲမှုသည်ကုဒ်၏ကြံ့ခိုင်မှုကိုများစွာတိုးတက်စေလိမ့်မည်။