လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> curl_close အသုံးပြုပြီးနောက် curl အရင်းအမြစ်များကိုဘယ်လိုစီမံခန့်ခွဲရမလဲ။

curl_close အသုံးပြုပြီးနောက် curl အရင်းအမြစ်များကိုဘယ်လိုစီမံခန့်ခွဲရမလဲ။

gitbox 2025-05-26

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

 $ch = curl_init('https://gitbox.net/api/data');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);  // အရင်းအမြစ်များကိုအခမဲ့

မှတ်စု: curl_close ကိုခေါ်ပြီးနောက် Curl အရင်းအမြစ်လက်ကိုင်ကိုထပ်မံအသုံးမပြုပါ,

2 ။ ခမည်းတော် curl အရင်းအမြစ်များအတွက်စီမံခန့်ခွဲမှုအစီအစဉ်

သင်တောင်းဆိုမှုများကိုတစ်ချိန်တည်းတွင်လုပ်ဆောင်ရန်လိုအပ်သည့်အခါသင်က curl လက်ကိုင်မျိုးစုံကိုဖန်တီးနိုင်သည်။

 $urls = [
    'https://gitbox.net/api/user',
    'https://gitbox.net/api/product',
    'https://gitbox.net/api/order',
];

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

ဤနေရာတွင်ကျွန်ုပ်တို့ကလွယ်ကူသောစည်းမျဉ်းစည်းကမ်းများအတွက် $ curlhandlles အတွက် array-curlhandlles အတွက်ကိုင်တွယ်။

3 ။ လက်ဖြင့်အများအပြားအရင်းအမြစ်များကိုလွှတ်ပေးရန်

တောင်းဆိုမှုကိုဖြည့်စွက်ပြီးနောက်၎င်းကိုတစ် ဦး မှတစ် ဦး အားဖြင့်လွှတ်ပေးရန်လိုအပ်သည်။

 foreach ($curlHandles as $ch) {
    $response = curl_exec($ch);
    // ကိုင်တွယ်ဖြေရှင်းသည် $response ...

    curl_close($ch);  // တစ်ခုချင်းစီကိုလက်ကိုင်လွှတ်ပါ
}

၎င်းသည်လက်ကိုင်တစ်ခုစီကိုမှန်ကန်စွာပိတ်ထားပြီးအရင်းအမြစ်ယိုစိမ့်မှုကိုရှောင်ရှားရန်သေချာစေသည်။

4 ။ စင်ကာပူဒေါ်လာတောင်းဆိုမှုများကို batch လုပ်ရန် curl_multi ကို သုံးပါ

PHP သည် curl_multi extension ကိုထောက်ပံ့ပေးသည်။

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

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

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

foreach ($curlHandles as $ch) {
    $response = curl_multi_getcontent($ch);
    // ကိုင်တွယ်ဖြေရှင်းသည် $response ...

    curl_multi_remove_handle($mh, $ch);
    curl_close($ch);
}

curl_multi_close($mh);

curl_multi_close သည် လက်ကိုင်မန်နေဂျာအရင်းအမြစ်များကိုထုတ်ပြန်ခဲ့သည်, curl_close သည် လက်ကိုင်အရင်းအမြစ်တစ်ခုမှထုတ်ပြန်သည်။

5 ။ အကျဉ်းချုပ်နှင့်မှတ်စုအချက်များ

  • curl_close တစ်ခုတည်းကိုလက်ကိုင်လက်ကိုင်အခမဲ့ခေါ်ဆိုရန်သေချာပါစေ။

  • Curl_multi ကို အသုံးပြုသောအခါလက်ကိုင်ကိုဖယ်ရှားရန် curl_multi_remove_handle ကို ပထမဆုံးအသုံးပြုပါ, ပြီးနောက် curl_close ဟုခေါ်ပါ။

  • curl_close ခေါ်ဆိုပြီးနောက်လက်ကိုင်ကိုနောက်တဖန်မသုံးပါနှင့်။

  • လက်ကိုင်မျိုးစုံကိုစီမံခန့်ခွဲသောအခါအသုတ်လွှတ်ပေးရန်လွယ်ကူချောမွေ့စေရန်သူတို့ကိုသိမ်းထားသောနည်းဖြင့်သိုလှောင်ရန် Arrays ကိုသုံးပါ။

  • အရင်းအမြစ်များကိုဖြန့်ချိပြီးတဲ့နောက် PHP အမှိုက်ပုံးစုဆောင်းခြင်းကပိုပြီးထိရောက်တဲ့ဒီတော့ (ဥပမာ unset ကို သုံးခြင်း) ကို (ဥပမာသုံးခြင်း) ကိုဖျက်ပစ်ဖို့ကြိုးစားပါ။

ကောက်ရိုးများစွာအရင်းအမြစ်များကိုမှန်ကန်စွာစီမံခြင်းသည်ပရိုဂရမ်တည်ငြိမ်မှုနှင့်မှတ်ဉာဏ်အသုံးပြုမှုထိရောက်မှုကိုသိသိသာသာတိုးတက်စေနိုင်သည်။

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