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 () အမှန်တကယ်တောင်းဆိုမှုကိုစတင်ရန်တောင်းဆိုခြင်းကိုစတင်သည် ။
ကွပ်မျက်ပြီးဆုံးပြီးနောက်သင်တောင်းဆိုမှုတစ်ခုချင်းစီ၏ရလဒ်ကိုရလိုပေမည်:
$responses = [];
foreach ($curlHandles as $ch) {
$responses[] = curl_multi_getcontent($ch);
}
တောင်းဆိုမှုပြီးဆုံးသွားသောအခါ, 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 () ကိုအသုံးပြုပြီးအရင်းအမြစ်များကိုမှန်ကန်စွာဖြန့်ချိစေရန်အတွက်တစ်ပြိုင်တည်းတောင်းဆိုမှုများကိုပြုပြင်ပြီးနောက်လျစ်လျူရှုမရသောခြေလှမ်းတစ်ခုဖြစ်သည်။ အောက်ဖော်ပြပါသည်အပြောင်းအလဲလုပ်မှုလုပ်ငန်းစဉ်၏အကျဉ်းချုပ်ဖြစ်သည်။
မျိုးစုံဆံပင်ကောက်ကောက်တောင်းဆိုခြင်းလက်ကိုင်များအစ,
Multi- လက်ကိုင်အရင်းအမြစ်တစ်ခုလက်ကိုင်ထည့်ပါ;
curl_multi_exec () ကိုတစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုသုံးပါ။
ရလဒ်ရရန် curl_multi_getcontent () ကို သုံးပါ။
လက်ကိုင်များနှင့်အရင်းအမြစ်များအားလုံးကိုပိတ်ရန် curl_close () နှင့် curl_multi_close () ကို သုံးပါ။
အထက်ပါနည်းလမ်းများမှတစ်ဆင့်သင်သည် System အရင်းအမြစ်များကိုဖြုန်းတီးရန်သေချာစေရန် PHP script တစ်ခု၏တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုထိရောက်စွာကိုင်တွယ်နိုင်သည်။