PHP တွင်တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများပြုလုပ်ရန် ဆံပင်ကောက်ကောက်ကို အသုံးပြုသောအခါများသောအားဖြင့်တစ်ပြိုင်နက်တည်း http တောင်းဆိုမှုများကိုစီမံခန့်ခွဲရန် curl_multi_ * စီးရီးများကို အသုံးပြု. များသောအားဖြင့်ပါ 0 င်သည်။ တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုထိရောက်စွာကိုင်တွယ်နိုင်ရန်နှင့်ဆက်စပ်သောအရင်းအမြစ်များကိုဖြန့်ချိနိုင်ရန်အတွက်ကျွန်ုပ်တို့သည် curlti_clocess function ကိုမှန်ကန်စွာသုံးရန်လိုအပ်သည်။ ဤဆောင်းပါးသည် curl_multi_close_close ကို မည်သို့မှန်ကန်စွာအသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။
တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများသည်တစ်ချိန်တည်းတွင် HTTP တောင်းဆိုမှုများကိုတစ်ချိန်တည်းထုတ်ပြန်ခြင်းကိုရည်ညွှန်းသည်။ PHP တွင် curl_multi_init ကို သုံး. curl_mamulti_add_handle မှတစ်ဆင့်လက်ကိုင်မျိုးစုံကိုလက်ကိုင်ရန်လက်ကိုင်ကိုလက်ကိုင်ရန်သီးခြားဆံပင်ကောက်ကောက်တောင်းခံမှုများကို သုံး. ၎င်းကို curl_mamulti_exec မှတစ်ဆင့်ပြုလုပ်ပါ။
ကျွန်ုပ်တို့သည်တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကို execute လုပ်ရန် curl_multi_ * လုပ်ဆောင်ချက်များကိုအသုံးပြုသောအခါတောင်းဆိုမှုတစ်ခုစီသည်စနစ်အရင်းအမြစ်များကိုယူထားလိမ့်မည်။ အရင်းအမြစ်ယိုစိမ့်မှုကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည်သက်ဆိုင်ရာအရင်းအမြစ်များအားလုံးကိုအခမဲ့ဖြည့်ဆည်းပြီးနောက် curl_mamulti_close ကို အသုံးပြု. လက်ကိုင်မျိုးစုံကိုပိတ်ရန်သေချာစေရန်လိုအပ်သည်။
curl_multi_close ၏အဓိကလုပ်ဆောင်ချက်မှာ -
မျိုးစုံဆံပင်ကောက်ကောက်လက်ကိုင်များနှင့်ဆက်စပ်သော curl sessions များကိုပိတ်လိုက်သည်။
curl_multi_init ကိုဖန်တီးသောအခါ Memory အရင်းအမြစ်များကိုဖြည့်ဆည်းပေးသည်။
curl_multi_close ကို မခေါ်ပါကဤအရင်းအမြစ်များကိုမှန်ကန်စွာထုတ်ပြန်လိမ့်မည်မဟုတ်ပါ။ ၎င်းသည်မှတ်ဥာဏ်ယိုစိမ့်မှုသို့မဟုတ်စွမ်းဆောင်ရည်ပြ issues နာများကိုဖြစ်ပေါ်စေနိုင်သည်။
curl_multi_clultose ကို သုံး. curl_multi_close သုံး. အခမဲ့အရင်းအမြစ်များကိုမည်သို့မှန်ကန်စွာအခမဲ့မည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်စွာမည်သို့မှန်ကန်ဖြေရှင်းရမည်ကိုပြသသည်။
<?php
// ဖြစ်ပေါ်လာခြင်း cURL မျိုးစုံလက်ကိုင်
$mh = curl_multi_init();
// တောင်းဆိုမှုများကိုသတ်မှတ်ပါ URLs
$urls = [
"https://gitbox.net/api/endpoint1",
"https://gitbox.net/api/endpoint2",
"https://gitbox.net/api/endpoint3"
];
// ကုန်လေှာင်ရုံ cURL လက်ကိုင်
$chArray = [];
// ဖန်တီး cURL လက်ကိုင်并添加到မျိုးစုံလက်ကိုင်中
foreach ($urls as $url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_multi_add_handle($mh, $ch);
$chArray[] = $ch;
}
// တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများဖျော်ဖြေ
do {
$status = curl_multi_exec($mh, $active);
if ($active) {
curl_multi_select($mh);
}
} while ($active && $status == CURLM_OK);
// တုံ့ပြန်မှုဒေတာကိုရယူပါ
foreach ($chArray as $ch) {
$response = curl_multi_getcontent($ch);
// တုံ့ပြန်မှုအကြောင်းအရာပြုပြင်ခြင်း
echo "Response: " . $response . "\n";
}
// 正确关闭မျိုးစုံလက်ကိုင်并释放资源
foreach ($chArray as $ch) {
curl_multi_remove_handle($mh, $ch);
curl_close($ch); // တစ်ခုချင်းစီကိုပိတ်ပါ cURL လက်ကိုင်
}
// 最后关闭မျိုးစုံလက်ကိုင်
curl_multi_close($mh);
echo "တောင်းဆိုမှုများအားလုံးကိုပြီးစီးခဲ့သည်,အရင်းအမြစ်များကိုထုတ်ပြန်ခဲ့သည်。\n";
?>
လက်ကိုင်မျိုးစုံကိုအစပြုပါ။
curl_multi_init သည်လက်ကိုင်မျိုးစုံကိုစတင်ရန်အသုံးပြုသည်။ ၎င်းကို curl မျိုးစုံကိုင်တွယ်ရန်အသုံးပြုသည်။
ဆံပင်ကိုကိုင်ပြီးလက်ကိုင်တစ်ခုသို့ထည့်ပါ။
Curl_init မှတဆင့်တစ်ခုတည်းဆံပင်ကောက်ကောက်ကိုဖန်တီးပြီးသက်ဆိုင်ရာတောင်းဆိုမှု parameters တွေကိုသတ်မှတ်ပါ။ ထို့နောက်လက်ကိုင်တစ်ခုချင်းစီကိုလက်ကိုင်တစ်ခုစီကိုချိတ်ဆက်ရန် curl_multi_add_handle ကို သုံးပါ။
တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုလုပ်ဆောင်ပါ။
curl_mamulti_exec သည်တောင်းဆိုမှုများအားလုံးကိုမပြီးမချင်းတစ်ပြိုင်တည်းတောင်းဆိုမှုများအားလုံးကိုအကောင်အထည်ဖော်သည့်လုပ်ဆောင်မှုအားလုံးကိုလုပ်ဆောင်သည်။ curl_multi_select ကို 0 င်ရောက်ရန်တောင်းဆိုမှုကိုစောင့်ဆိုင်းရန်အသုံးပြုသည်။
ထုတ်ယူခြင်းတုံ့ပြန်မှုအချက်အလက်:
တစ်ခုချင်းစီကိုတောင်းဆိုမှုတစ်ခုချင်းစီ၏တုန့်ပြန်မှုနှင့်သက်ဆိုင်သောလုပ်ဆောင်မှုကိုရယူရန် curl_multi_getcontent ကို သုံးပါ။
အရင်းအမြစ်ကိုပိတ်ပါ။
လက်ကိုင်မျိုးစုံမှဆံပင်ကောက် ကောက် တစ်ခုစီကိုဖယ်ရှားရန် Curl_Multi_Remove_handle ကို သုံးပါ။ နောက်ဆုံးတွင် curl_multi_Close ဟုခေါ်ပါ။
တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများပြုလုပ်ရာတွင်အရင်းအမြစ်များကိုစနစ်တကျစီမံခန့်ခွဲရန်နှင့်ဖြန့်ချိရန်အလွန်အရေးကြီးသည်။ curl_multi_close နှင့်အခြားဆက်စပ်သောလုပ်ဆောင်မှုများကိုအသုံးပြုခြင်းအားဖြင့်တောင်းဆိုမှုပြီးဆုံးသွားသောအခါအရင်းအမြစ်များအားလုံးကိုထုတ်ပြန်ရန်, အထူးသဖြင့်တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများရှိသောတစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများရှိသောအခြေအနေများတွင်အစီအစဉ်၏တည်ငြိမ်မှုနှင့်ထိရောက်မှုကိုတိုးတက်စေရန်ကျိုးကြောင်းဆီလျော်သယံဇာတအရင်းအမြစ်စီမံခန့်ခွဲမှုသည်အလွန်အရေးကြီးသည်။