PHP တွင် curl_multi_ * function function မိသားစုကိုတစ်ပြိုင်နက်တည်းကွပ်မျက်ရန်အသုံးပြုသည်။ curl_mamulti_close () သည်ဤစီးရီးတွင်ဤစီးရီးတွင်အရေးကြီးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည် ။
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_ * function ကို သုံး. curl တောင်းဆိုမှုများစွာကွပ်မျက်ခံရသောအခါတောင်းဆိုမှုတစ်ခုစီသည်လွတ်လပ်ပြီးတောင်းဆိုမှုတစ်ခုစီတွင်ကိုယ်ပိုင်အရင်းအမြစ်သုံးစွဲမှုရှိသည်။ တောင်းဆိုမှုပြီးဆုံးပြီးနောက်ဤအရင်းအမြစ်များကိုဖြန့်ချိနိုင်ရန်အတွက်၎င်းကိုဆက်သွယ်ပြီးသည်နှင့် curltulti_close () connection ကိုပိတ်ရန် Curl_multi_close () ကိုခေါ်ရမည်။
သင် curl_multi_close () ကို မသုံးပါကဤဆံပင်ကောက်ကောက်များသည်မှတ်ဉာဏ်နှင့်အခြားအရင်းအမြစ်များကိုဆက်လက်ယူဆောင်လာပြီးစွမ်းဆောင်ရည်ပြ issues နာများနှင့်မှတ်ဉာဏ်ယိုစိမ့်မှုများကိုဖြစ်ပေါ်စေနိုင်သည်။ ထို့ကြောင့်တောင်းဆိုမှုပြီးဆုံးပြီးနောက်ဤဆက်သွယ်မှုများကိုစနစ်တကျပိတ်ရန်အလွန်အရေးကြီးသည်။
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);
?>
မျိုးစုံဆံပင်ကောက်ကောက်လက်ကိုင်များကိုအစပြုပါ ။
curl_multi_init () ကို သုံး. curl တောင်းဆိုမှုများကိုစီမံခန့်ခွဲသော Multi Multipi Multipi Multipi ကိုဖန်တီးရန်။
မျိုးစုံသော curl လက်ကိုင်များထည့်ပါ :
URL တစ်ခုစီအတွက် curl လက်ကိုင်တစ်ခုဖန်တီးပါ, သက်ဆိုင်ရာရွေးချယ်စရာများကိုသတ်မှတ်ပါ။ ထို့နောက်ဤလက်ကိုင်များကို curl_multi_add_handle () မှ Multi Multi Multi Multi Multi Multi () တွင်ထည့်ပါ။
တောင်းဆိုမှုကိုလုပ်ဆောင်ပါ ။
တောင်းဆိုမှုများအားလုံးကိုမပြီးမချင်းတောင်းဆိုမှုများအားလုံးကို execute လုပ်ရန် curl_multi_exec () ကို သုံးပါ။
အကြောင်းအရာကိုရယူပါ။ လက်ကိုင်ကိုပိတ်ပါ ။
curl_multi_getcontent () ကိုသုံးပါ။ ပြီးတာနဲ့ curl_multi_remove_handle () ကိုဖြတ်ပြီးလက်ကိုင်မှလက်ကိုင်မှလက်ကိုင်ကိုဖယ်ရှားပြီး curl_close () ကို သုံး. တစ် ဦး ချင်းစီဆံပင်ကောက်ကောက်ကိုပိတ်ပါ။
Multi လက်ကိုင်ကိုပိတ်ပါ ။
နောက်ဆုံးတွင် curl_multi_close () ကိုပိတ်ရန်နှင့်အရင်းအမြစ်များအားလုံးကိုပိတ်ရန်နှင့်အရင်းအမြစ်များအားလုံးကိုအခမဲ့ရယူရန် Curl_multi_close () ကိုခေါ်ပါ။
curl_multi_close () ကိုမှန်ကန်သောအသုံးပြုမှုသည်အဓိကအားဖြင့်တောင်းဆိုမှုများစွာအရင်းအမြစ်များကိုအချိန်မီဖြန့်ချိရန်သေချာစေရန်အဓိကခြေလှမ်းတစ်ခုဖြစ်သည်။ အပြိုင်တောင်းဆိုမှုများစွာကိုလုပ်ဆောင်သောအခါ curl_multi_close () ကိုဆက်ပြီးသက်ဆိုင်ရာဆံပင်ကောက်ကောက်များအားလုံးကိုပိတ်ရန်ကွပ်မျက်ခံရပြီးနောက် curl_multi_close () ကိုခေါ်ရန်သတိရပါ။ ၎င်းသည်မှတ်ဥာဏ်ယိုစိမ့်မှုများကိုကာကွယ်ရုံသာမကကုဒ်၏ထိရောက်မှုကိုလည်းပိုမိုကောင်းမွန်စေသည်။