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

curl_close ကို script တစ်ခုဖြင့် အသုံးပြု. တစ်ပြိုင်တည်းတောင်းဆိုမှုများကိုမည်သို့အဆုံးသတ်ရမည်နည်း။

gitbox 2025-05-26

Curl သည် တစ်ပြိုင်နက်တည်း http တောင်းဆိုမှုများကိုကိုင်တွယ်ရန် PHP ကိုအသုံးပြုသည့်အခါအလွန်များသောအားဖြင့်အလွန်အသုံးများသောနှင့်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ထိရောက်မှုတိုးတက်စေရန်အတွက်များသောအားဖြင့်တစ်ပြိုင်တည်းတောင်းဆိုမှုများကိုစတင်ရန် curl_multi_ * စီးရီးများကိုအသုံးပြုလေ့ရှိသည်။ တောင်းဆိုမှုများအားလုံးကိုဖြည့်စွက်ပြီးနောက်တောင်းဆိုမှုလက်ကိုင်တစ်ခုချင်းစီကိုမှန်ကန်စွာပိတ်ရန်အလွန်အရေးကြီးသည် ဤဆောင်းပါးသည် curl_multi_exec () ကို PHP script တွင် curl_multi_exec ( ) ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။

အခြေခံပြင်ဆင်မှု: တောင်းဆိုမှုများကိုအစပျိုး

ပထမ ဦး စွာကျွန်ုပ်တို့သည်ဆံပင်ကောက်ကောက်အမျိုးမျိုးကိုဖန်တီးရန်လိုအပ်ပြီး curl_multi_add_addle () မှတဆင့် Multi-hands multi-hands multies အရင်းအမြစ်သို့ထည့်သွင်းရန်လိုအပ်သည်။

 $urls = [
    "https://gitbox.net/api/service1",
    "https://gitbox.net/api/service2",
    "https://gitbox.net/api/service3"
];

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

foreach ($urls as $url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
    curl_multi_add_handle($multiHandle, $ch);
    $curlHandles[] = $ch;
}

ဤကုဒ်တွင် URLs သုံးခုကိုသီးခြားဆံပင်ကောက်ကောက်တောင်းခံမှုသုံးခုအဖြစ်ထည့်ပြီး Multi-hands ုပ်ရဟတ်အရင်းအမြစ် ဒေါ်လာ Multihandle သို့ထည့်သွင်းထားသည်။

တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများဖျော်ဖြေ

လက်ကိုင်များအားလုံးကိုပေါင်းထည့်ပြီးနောက်ကျွန်ုပ်တို့သည်ဤတောင်းဆိုမှုများကို curl_multi_exec () နှင့် curl_maxec () နှင့် curl_multi_select) မှတဆင့်ကိုင်တွယ်ဖြေရှင်းခြင်းများကိုကိုင်တွယ်သည်။

 $running = null;
do {
    curl_multi_exec($multiHandle, $running);
    curl_multi_select($multiHandle);
} while ($running > 0);

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

တုံ့ပြန်မှုအကြောင်းအရာကိုရယူပါ (optional)

ကွပ်မျက်ပြီးဆုံးပြီးနောက်သင်တောင်းဆိုမှုတစ်ခုချင်းစီ၏ရလဒ်ကိုရလိုပေမည်:

 $responses = [];
foreach ($curlHandles as $ch) {
    $responses[] = curl_multi_getcontent($ch);
}

လက်ကိုင်ကိုပိတ်ပါ။ curl_close () ကိုသုံးပါ။

တောင်းဆိုမှုပြီးဆုံးသွားသောအခါ, curl တောင်းဆိုမှုလက်ကိုင်နှင့် Multi-handle အရင်းအမြစ်များအပါအ 0 င်အရင်းအမြစ်များအားလုံးကိုဖြန့်ချိရန်သေချာစေရန်လိုအပ်သည်။ curl_close () ကစားခြင်းသည်ဤနေရာတွင်ဖြစ်သည်။

 foreach ($curlHandles as $ch) {
    curl_multi_remove_handle($multiHandle, $ch);
    curl_close($ch);
}

curl_multi_close($multiHandle);

အထက်ဖော်ပြပါကုဒ်များတွင် curl_multi_remove_handle () ကို တစ် ဦး စီကိုအသုံးပြု သည်

အကျဉ်းချုပ်

curl_close () ကိုအသုံးပြုပြီးအရင်းအမြစ်များကိုမှန်ကန်စွာဖြန့်ချိစေရန်အတွက်တစ်ပြိုင်တည်းတောင်းဆိုမှုများကိုပြုပြင်ပြီးနောက်လျစ်လျူရှုမရသောခြေလှမ်းတစ်ခုဖြစ်သည်။ အောက်ဖော်ပြပါသည်အပြောင်းအလဲလုပ်မှုလုပ်ငန်းစဉ်၏အကျဉ်းချုပ်ဖြစ်သည်။

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

  2. Multi- လက်ကိုင်အရင်းအမြစ်တစ်ခုလက်ကိုင်ထည့်ပါ;

  3. curl_multi_exec () ကိုတစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုသုံးပါ။

  4. ရလဒ်ရရန် curl_multi_getcontent () ကို သုံးပါ။

  5. လက်ကိုင်များနှင့်အရင်းအမြစ်များအားလုံးကိုပိတ်ရန် curl_close () နှင့် curl_multi_close () ကို သုံးပါ။

အထက်ပါနည်းလမ်းများမှတစ်ဆင့်သင်သည် System အရင်းအမြစ်များကိုဖြုန်းတီးရန်သေချာစေရန် PHP script တစ်ခု၏တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုထိရောက်စွာကိုင်တွယ်နိုင်သည်။

ဆက်စပ်အကြောင်းအရာ