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

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

gitbox 2025-05-12

PHP တွင် HTTP တောင်းဆိုမှုများအတွက် ဆံပင်ကောက်ကောက်ကို အသုံးပြုခြင်းသည်အလွန်များသောအားဖြင့်အထူးသဖြင့်ပြင်ပ 0 န်ဆောင်မှုများစွာသို့ပို့ရန်လိုအပ်သည့်အခါ curl သည် ဤလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန်အလွန်အစွမ်းထက်တဲ့နည်းလမ်းကိုပေးသည်။ သို့သော်ပုံမှန်အားဖြင့်တစ်ပြိုင်တည်း retchronous တောင်းဆိုမှုများကိုသာ curl ကို သာထောက်ပံ့သည်, ဆိုလိုသည်မှာတောင်းဆိုမှုတစ်ခုပေးလိုက်သည့်အခါတိုင်း PHP သည်နောက်ထပ်တောင်းဆိုမှုကိုဆက်လက်မလုပ်မီအပြီးသတ်ရန်တောင်းဆိုခြင်းကိုစောင့်ဆိုင်းလိမ့်မည်။

သို့သော် 0 န်ဆောင်မှုများစွာသို့တောင်းဆိုမှုများကိုကျွန်ုပ်တို့တောင်းဆိုရန်လိုအပ်သည့်အခါတစ်ချိန်တည်းတွင်ဤထပ်တူပြုခြင်းသည်သိသာထင်ရှားသောစွမ်းဆောင်ရည်မြှင့်တင်မှုများကိုအထူးသဖြင့်တောင်းဆိုမှုများအရေအတွက်ကြီးမားသည်။ တောင်းဆိုမှုများ၏တစ်ပြိုင်နက်တည်းကွပ်မျက်မှုစွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်ကျွန်ုပ်တို့သည် curlti_ * function group ကိုသုံးနိုင်သည်

curl_multi_close ဆိုတာဘာလဲ။

curl_multi_close သည် PHP ရှိ Multi-Multi-Curl စာကြည့်တိုက်၏အစိတ်အပိုင်းဖြစ်သည်။ curl_mamulti_exec ကို သုံး. တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကို အသုံးပြု. ပြုလုပ်သောအပြီးတွင်၎င်းကိုများသောအားဖြင့်အသုံးပြုလေ့ရှိသည်။ ဤနည်းအားဖြင့်တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများ၏ဘဝသံသရာများသည်ပိုမိုထိရောက်စွာစီမံခန့်ခွဲနိုင်ပြီးအထူးသဖြင့်ကွန်ယက်တောင်းဆိုမှုများကိုလုပ်ဆောင်သောအခါစွမ်းဆောင်ရည်တိုးတက်လာနိုင်သည်။

curl_multi_close မှတစ်ဆင့်တောင်းဆိုမှုထိရောက်မှုကိုတိုးတက်အောင်လုပ်ခြင်းဥပမာများ

တောင်းဆိုရန်လိုအပ်သည့် URL များစွာရှိသည်ဟုယူဆသည်, ကျွန်ုပ်တို့သည်ဤတောင်းဆိုမှုများကို curl_mamulti_ * function မှတဆင့်တစ်ပြိုင်နက်တည်းလုပ်ဆောင်နိုင်သည်။ အောက်ဖော်ပြပါ PHP နမူနာကုဒ်သည် Curl_multi_Close ကို အသုံးပြု. Curl_multi_Close ကိုတစ်ပြိုင်နက်တည်းတိုးတက်စေရန်အသုံးပြုသည်။

 <?php
// တောင်းဆိုမှုများကိုစတင်ရန် cURL လက်ကိုင်
$urls = [
    "http://gitbox.net/api/endpoint1",
    "http://gitbox.net/api/endpoint2",
    "http://gitbox.net/api/endpoint3",
    "http://gitbox.net/api/endpoint4"
];

$multiHandle = curl_multi_init();
$curlHandles = [];

// တစ်ခုချင်းစီသည် URL သီးခြားဖန်တီးပါ cURL လက်ကိုင်
foreach ($urls as $url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_multi_add_handle($multiHandle, $ch);
    $curlHandles[] = $ch;
}

// တောင်းဆိုမှုများအားလုံးကိုလုပ်ဆောင်ပါ
$running = null;
do {
    curl_multi_exec($multiHandle, $running);
    curl_multi_select($multiHandle);  // ဖြည့်စွက်ရန်တောင်းဆိုမှုကိုစောင့်ပါ
} while ($running);

// တုန့်ပြန်အကြောင်းအရာကိုရယူပါ
foreach ($curlHandles as $ch) {
    $response = curl_multi_getcontent($ch);
    echo $response . "\n";  // output တုံ့ပြန်မှုအကြောင်းအရာ
}

// ရုပ်သိမ်းခြင်း cURL လက်ကိုင်
foreach ($curlHandles as $ch) {
    curl_multi_remove_handle($multiHandle, $ch);
    curl_close($ch);
}

// အရင်းအမြစ်များကိုအခမဲ့
curl_multi_close($multiHandle);
?>

code parsing

  1. ဆံပင်ကောက်ကောက်ကိုအစပိုင်းတွင် - URL တစ်ခုချင်းစီအတွက်သီးခြားဆံပင်ကောက်ကောက်တစ်ခု ဖန်တီး. ဤလက်ကိုင်များကို curl session ကိုတောင်းဆိုရန်နှင့်ထည့်ရန်သီးခြားဆံပင်ကောက်ကောက်ကိုဖန်တီးသည်။

  2. တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကို execute : တောင်းဆိုမှုများအားလုံးကို curl_multi_exec မှတဆင့် as ဟန့်တားရန်ကွပ်မျက်ခံရသည်။ တောင်းဆိုမှုများအားလုံးပြီးဆုံးသည်အထိ၎င်းကိုစဉ်ဆက်မပြတ်ကွပ်မျက်ခံရလိမ့်မည်။ curl_multi_select က program ကိုတောင်းဆိုရန်တောင်းဆိုမှုကိုစောင့်ဆိုင်းရန်တောင်းဆိုလိမ့်မည်, ထို့ကြောင့်လုပ်ငန်းစဉ်တစ်ခုလုံးကိုပိတ်ဆို့ခြင်းမဟုတ်ပါ။

  3. တုံ့ပြန်မှုအချက်အလက်များကိုရယူပါ ။ တောင်းဆိုမှုများအားလုံးကိုပြီးစီးပြီးနောက် curl_multi_getcontent မှတဆင့်တောင်းဆိုမှုတစ်ခုစီ၏တုန့်ပြန်မှုအကြောင်းအရာကိုရယူပါ။

  4. အနီးကပ်သန့်ရှင်းပါ ။ နောက်ဆုံးတွင်တစ် ဦး ချင်းစီကောက်ကောက်လက်ကိုင်တစ်ခုချင်းစီကိုဖယ်ရှား။ ပိတ်ပါ။ ထို့နောက် curl_multi_close ကို သုံး. curl_multi_close ကို သုံးပါ။

curl_multi_close သည် အဘယ်ကြောင့်အရေးကြီးသနည်း။

curl_multi_close သည် အစည်းအဝေးများအတွက်လက်ကိုင်များကိုပိတ်ထားရုံသာမကအရင်းအမြစ်များအားလုံးကိုမှန်ကန်စွာထုတ်ဖော်ပြောကြားရန်သေချာစေသည်။ ရှည်လျားသောပြေး scripts များတွင် curl_mamulti_close ၏ဆင်ခြင်တုံတရားအသုံးပြုခြင်းသည်မှတ်ဥာဏ်ယိုစိမ့်မှုနှင့်ပရိုဂရမ်တည်ငြိမ်မှုကိုတိုးတက်စေနိုင်သည်။

curl_multi_ * function ကိုအသုံးပြုခြင်း၏ကောင်းကျိုးများ

  1. တစ်ပြိုင်နက်တည်းကွပ်မျက်ခြင်း - ရိုးရာထပ်တူပြုခြင်းတောင်းဆိုမှုများကိုဆက်တိုက်ပြုလုပ်နိုင်သည်။ curl_multi_ * function သည်အပြိုင်အဆက်စွန်းတွင်ကွပ်မျက်ခြင်းများပြုလုပ်ရန်ခွင့်ပြုထားသည်။

  2. ပိတ်ဆို့ခြင်းမရှိသော i / o - curl_multi_multi_selectect နှင့် curl_multi_exec တို့၏ပူးပေါင်းဆောင်ရွက်မှုမှတဆင့် PHP သည်အခြားတောင်းဆိုမှုများကိုဆက်လက်လုပ်ဆောင်ရန်တောင်းဆိုခြင်းနှင့်စောင့်ဆိုင်းခြင်းပြ problem နာကိုရှောင်ရှားရန်စောင့်ဆိုင်းနေစဉ်တွင်အခြားတောင်းဆိုမှုများကိုဆက်လက်လုပ်ဆောင်နိုင်သည်။

  3. အရင်းအမြစ်ဖြန့်ချိမှု - curl_multi_cloces ကို အသုံးပြုခြင်းအားဖြင့်အရင်းအမြစ်များကိုဖြန့်ချိပြီးသောအခါ,

နိဂုံးချုပ်အားဖြင့်

curl_multi_close သည် HTTP တောင်းဆိုမှုများကိုတစ်ပြိုင်နက်တည်းကွပ်မျက်မှုတွင်အရေးပါသောအခန်းကဏ် plays မှပါ 0 င်သည်။ curl_multi_exec နှင့် curl_multi_clocks ကို အသုံးပြု. PHP developer များသည်တောင်းဆိုမှုများစွာကိုပြုပြင်ရန်နှင့်အရင်းအမြစ်များကိုထိရောက်စွာစီမံခန့်ခွဲရန်အတွက် application များ၏ထိရောက်မှုကိုသိသိသာသာတိုးတက်စေနိုင်သည်။ မြင့်မားသောတစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများလိုအပ်သည့်ဖြစ်ရပ်များအတွက် curl ၏မျိုးစုံလုပ်ဆောင်နိုင်စွမ်းကိုအသုံးပြုခြင်းသည်အလွန်ထိရောက်သော optimization နည်းလမ်းဖြစ်သည်။