PHP တွင်တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများအတွက်ဆံပင်ကောက်ကောက်ကိုအသုံးပြုခြင်းသည်အထူးသဖြင့် HTTP တောင်းဆိုမှုများကိုတစ်ပြိုင်နက်တည်းထုတ်ပြန်ရန်လိုအပ်သည့်အခါအလေ့အကျင့်တစ်ခုဖြစ်သည်။ curl_multi_ * function function မိသားစုသည် curl_multi_close ကို curl_multi_close ကိုပိတ်ရန်အသုံးပြုသောတစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုကိုင်တွယ်ရန်နည်းလမ်းဖြစ်သည်။
သို့သော်များသောအားဖြင့်ကျွန်ုပ်တို့သည် curl_multi_close မခေါ်မီတောင်းဆိုမှုတစ်ခုစီအတွက်ပြန်လာသောအချက်အလက်များကိုကျွန်ုပ်တို့လုပ်ဆောင်သည်။ တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုပြုလုပ်ရန်နှင့်လူပေါင်းစုံသော session ကိုမပိတ်မီပြန်လာသောအချက်အလက်များကိုစတင်ရန်ဘုံနည်းလမ်းတစ်ခုဖြစ်သည်။
burl multithreaded အစည်းအဝေးများကန ဦး
တစ် ဦး multxreaded session တစ်ခုတောင်းဆိုချက်ကိုထည့်ပါ
တောင်းဆိုမှုကို execute
တောင်းဆိုမှုကိုရလဒ်ရယူပါ
session ကိုပိတ်ပါ
<?php
// မျိုးစုံကိုအစပြု cURL လက်ကိုင်
$mh = curl_multi_init();
// မေးမြန်း URL စာရင်း
$urls = [
"https://gitbox.net/api/data1",
"https://gitbox.net/api/data2",
"https://gitbox.net/api/data3"
];
// ကုန်လေှာင်ရုံ cURL လက်ကိုင်
$curl_handles = [];
$responses = [];
foreach ($urls as $index => $url) {
// ဖြစ်ပေါ်လာခြင်း cURL ရုံးထိုင်အချိန်ကာလ
$ch = curl_init();
// တည်ဆောက်သည် cURL မေးမြန်း选项
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// ထည့်သည် cURL 多线程ရုံးထိုင်အချိန်ကာလ中
curl_multi_add_handle($mh, $ch);
// ကုန်လေှာင်ရုံ每个လက်ကိုင်
$curl_handles[$index] = $ch;
}
// ကရိယာတန်းဆာ所有မေးမြန်း
$running = null;
do {
// ကရိယာတန်းဆာ cURL 多线程မေးမြန်း
curl_multi_exec($mh, $running);
curl_multi_select($mh); // 等待မေးမြန်း完成
} while ($running > 0);
// 获取每个မေးမြန်း的响应
foreach ($curl_handles as $index => $ch) {
// 获取单个မေးမြန်း的返回内容
$response = curl_multi_getcontent($ch);
// ပြန်လည်ပြုပြင်ခြင်းအချက်အလက်များ
$responses[$index] = $response;
// တစ်ခုတည်းကိုပိတ်ပါ cURL ရုံးထိုင်အချိန်ကာလ
curl_multi_remove_handle($mh, $ch);
}
// ခေါ်ခြင်း curl_multi_close ဉီးစွာ,你可以处理每个မေးမြန်း的返回数据
foreach ($responses as $index => $response) {
echo "Response from URL $index: " . substr($response, 0, 100) . "...\n"; // အကြောင်းအရာ၏ output ကိုအပိုင်း
}
// 关闭多线程ရုံးထိုင်အချိန်ကာလ
curl_multi_close($mh);
?>
Curl_multi_init ကိုအသုံးပြုပြီး multimeaded session ကိုအစပြု ပါ ။ ၎င်းသည်ကျွန်ုပ်တို့အားတောင်းဆိုမှုများကိုတစ်ပြိုင်တည်းလုပ်ဆောင်ရန်ခွင့်ပြုလိမ့်မည်။
တောင်းဆိုရန်တောင်းဆိုချက် - curl_init မှတဆင့် curl_init မှတဆင့် curl_init မှတ ဆင့်တစ်ခုတည်း curl session တစ်ခုဖန်တီးပါ ။
Execute တောင်းဆိုချက် - Curl_multi_exec ကို သုံးပါ။ Curl_multi_exec ကိုသုံးပါ။
Report နှင့် Process Resourt Data : Curl_multi_getContent ကို သုံးပါ ။ ဤအဆင့်တွင်သင်သည်အချို့သောဒေတာများပြုပြင်ခြင်းသို့မဟုတ် output လုပ်ငန်းများကိုလုပ်ဆောင်နိုင်သည်။
Confless Session : curl_multi_remove_handle မှတဆင့်တစ် ဦး ချင်းစီဆံပင်ကောက် ကောက် လက်ကိုင်ကိုဖယ်ရှားပါ။
curl_multi_cloco_cloco_close function ကိုမခေါ်မီ, တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများအတွက်သင့်အားပြန်လည်ရယူခြင်းကိုမှန်ကန်စွာပြန်လည်ရယူပြီးပြုပြင်ခြင်းကိုသေချာအောင်လုပ်ပါ။ ၎င်းတွင်အောက်ပါအရေးကြီးသောအဆင့်များပါ 0 င်သည်။
အပြိုင်အတွက်တောင်းဆိုမှုများကိုအကောင်အထည်ဖော်ရန် curl_multi_exec ကို သုံးပါ။
တစ်ခုချင်းစီကိုတောင်းဆိုမှုတစ်ခုချင်းစီ၏ပြန်လာသောအကြောင်းအရာကိုရရှိရန် curl_multi_getcontent ကို သုံးပါ။
တုံ့ပြန်မှုအားလုံးကိုပြုလုပ်ပြီးနောက် curl session ကိုပိတ်ပါ။
ဤနည်းလမ်းသည်သင့်အားစာပေါင်းစုံသော session ကိုမပိတ်မီတောင်းဆိုမှုတစ်ခုစီအတွက်ပြန်လာသောအချက်အလက်များကိုအပြည့်အဝလုပ်ဆောင်ရန်ခွင့်ပြုသည်။