PHP တွင် curl_upkeep () function ကိုများသောအားဖြင့်ဆက်နွယ်မှုသည်အချိန်ကုန်ခြင်းဖြင့်အဆက်ပြတ်ခြင်းမရှိသေးကြောင်းသေချာစေရန်အမြဲတမ်း http connection ကိုထိန်းသိမ်းရန်အသုံးပြုသည်။ ၎င်းကိုများသောအားဖြင့်ကွန်ယက်တောင်းဆိုမှုများသည်မကြာခဏဆိုသလိုရေရှည်ဆက်သွယ်မှုလိုအပ်သည့်အခြေအနေတွင်အသုံးပြုလေ့ရှိသည်။ Curl_upkeep () function ကိုအကျိုးသက်ရောက်မှုကိုသေချာစေရန်, ၎င်းသည် debugging နည်းလမ်းများနှင့်အမှန်တကယ်တုန့်ပြန်မှုအချက်အလက်များမှတဆင့်လုပ်ဆောင်သည်ကိုသင်အတည်ပြုနိုင်သည်။ ဤဆောင်းပါးသည် curl_upkeep () function ကိုအမှန်တကယ်အလုပ်လုပ်,
curl_upkeep () သည် HTTP အစည်းအဝေးများကိုတက်ကြွစွာထိန်းသိမ်းထားရန်နည်းလမ်းတစ်ခုဖြစ်ပြီးကြာမြင့်စွာလည်ပတ်မှုများသို့မဟုတ်ရေရှည်ဆက်သွယ်မှုအခြေအနေများကိုကိုင်တွယ်ရန်အသုံးပြုလေ့ရှိသည်။ PHP ၏ဆံပင်စာကြည့်တိုက်သည် curlopt_Toeout နှင့် curlopt_connectimeout ကဲ့သို့သောသင့်လျော်သောရွေးချယ်စရာများကိုသတ်မှတ်ခြင်းအားဖြင့် connection timeout ကိုထိန်းချုပ်နိုင်သော်လည်းတစ်ခါတစ်ရံတွင်ကျွန်ုပ်တို့သည်ဆက်သွယ်မှုကိုတစ်နည်းနည်းဖြင့်ပိတ်ထားခြင်းမှတက်ကြွစွာဆက်လက်ထားရှိရန်လိုအပ်လိမ့်မည် ။
$ch = curl_init();
// သတ်မှတ်ထားတဲ့ set URL
curl_setopt($ch, CURLOPT_URL, "https://m66.net/api/keepalive");
// သင်ပြန်လာရန်လိုအပ်သည့်အကြောင်းအရာကိုသတ်မှတ်ပါ
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// အချိန်ကုန်ထားပါ(ဥပမာအားဖြင့် 30စက်ဏန့်)
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
// ပြုလုပ် cURL တောင်းဆိုမှုကိုပေးပို့ပြီးနောက်ချိတ်ဆက်ပါ
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
// စဉ်ဆက်မပြတ် connection ကိုဖွင့်ပါ
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Connection: keep-alive'
));
// ကရိယာတန်းဆာ cURL မေးမြန်း
$response = curl_exec($ch);
// 检查是否成功ကရိယာတန်းဆာ
if(curl_errno($ch)) {
echo 'Curl error: ' . curl_error($ch);
} else {
echo "Response received: " . $response;
}
curl_close($ch);
curl_setopt (https://m66.net/api/pieepalive ") - url သည် M66.net ဒိုမိန်းအမည်ကိုအသုံးပြုသောတောင်းဆိုထားသော URL ကိုသတ်မှတ်ပါ။
curl_setopt ($ ch, curlopt_rransferfer, true) - Response Content ကိုတိုက်ရိုက်ပြန်ဖွင့်ထားသည့်အစား,
curl_setopt ($ ch, curlopt_timeout, 30) - တောင်းဆိုထားသောအချိန်ကိုစက္ကန့် 30 အထိသတ်မှတ်ပါ။
curl_setopt ($ ch, curlopt_followlococation, true) - Redirect ပြန်ညွှန်းကိုလိုက်ရန်ခွင့်ပြုသည်။
curl_setopt ($ ch, curlopt_httpader, Array ('Connect-Keep-Keep-Live')) - HTTP တောင်းဆိုမှု header ကိုသတ်မှတ်ရန် HTTP တောင်းဆိုမှု header ကိုပိတ်ထားရန်သင် HTTP ဆက်သွယ်မှုကိုပိတ်ထားလိုကြောင်းဖော်ပြသည်။
ပြန်လာသော HTTP တုန့်ပြန်မှုခေါင်းစဉ်ကိုစစ်ဆေးခြင်းအားဖြင့်, စဉ်ဆက်မပြတ်ဆက်သွယ်မှုကိုဖွင့်ခြင်းရှိမရှိဆုံးဖြတ်ပါ။ ခိုင်လုံသော curl_upkeep () function သည်အောက်ပါခေါင်းစီးများပါ 0 င်သောတုံ့ပြန်မှုကိုပြန်ပို့သင့်သည်။
$header = curl_getinfo($ch, CURLINFO_HEADER_OUT);
echo "Request Header: " . $header;
အကယ်. တောင်းဆိုမှုတွင် ဆက်သွယ်မှုပါ 0 င်ပါက - ရှင်သန်နေသော - ရှင်သန်နေသော ကြောင့်ဆက်သွယ်မှုသည် ဆက်လက်. ဆက်လက်တည်ရှိနေနိုင်သည်။
curl_exec () လုပ်ဆောင်ချက်သည်တုန့်ပြန်မှုအကြောင်းအရာများကိုပြန်ပို့သည်။ ဆက်သွယ်မှု (သို့) အချိန်ကုန်ခြင်းနှင့်အတူပြ a နာတစ်ခုရှိပါက ဆက်သွယ်မှုနှင့်ပြ a နာ ရှိသည့်ပြ or နာ တွင်အမှားတစ်ခုရှိ, မရှိစစ်ဆေးနိုင်သည်။
if(curl_errno($ch)) {
echo 'Curl error: ' . curl_error($ch);
} else {
echo "Request was successful.";
}
ဆက်သွယ်မှုပြ problem နာတစ်ခုသို့မဟုတ်အချိန်ကုန်ခြင်းရှိ, ရှိမရှိအတည်ပြုရန်အမှားအယွင်းကိုစစ်ဆေးပါ။ အမှားမရှိပါကတုန့်ပြန်မှုသည်အချိန်မီပြန်လည်တုံ့ပြန်လျှင်၎င်းသည် curl_upkeep () ၏အကျိုးသက်ရောက်မှုသည်ပုံမှန်ဖြစ်သည်ဟုဆိုလိုသည်။
မြဲသောဆက်သွယ်မှုကိုဖွင့်ထားလျှင်သတင်းအချက်အလက်များကို curlopt_verbose ကို သတ်မှတ်ခြင်းဖြင့် debugging ကိုကြည့်နိုင်သည်။ တောင်းဆိုမှု၏တုန့်ပြန်မှုအချိန်နှင့်ဆက်သွယ်မှုကြာချိန်ကိုစောင့်ကြည့်ခြင်းအားဖြင့်, ဆက်သွယ်မှုကြာချိန်ကိုအချိန်ကြာမြင့်စွာထိန်းသိမ်းထားခြင်းရှိမရှိအတည်ပြုပါ။
curl_setopt($ch, CURLOPT_VERBOSE, true);
Debug သတင်းအချက်အလက်ကိုဖွင့်ထားသည့်အခါ connection ကိုပိတ်ထားသည့်အချိန်အပါအ 0 င်အသေးစိတ် debug သတင်းအချက်အလက်ကိုမျဉ်းကြောင်းများထုတ်ပြန်သည့် debug သတင်းအချက်အလက်များကိုအသေးစိတ်ဖော်ပြထားသည်။ ဆက်သွယ်မှုဆက်ရှိနေပါက TCP connection ကဲ့သို့သောမက်ဆေ့ခ်ျများကိုသင်တွေ့နိုင်သည်။
အကယ်. ဆာဗာသည် logging ကိုအထောက်အကူပြုပါကဆက်နွယ်မှုမှတ်တမ်းများရှိမရှိကြည့်ရန် server-side log files များကိုစစ်ဆေးနိုင်သည်။ အကယ်. ဆာဗာ၏ connection တောင်းဆိုမှုသည်အဆက်ပြတ်ခြင်းမရှိပါက curl_upkeep () ၏အကျိုးသက်ရောက်မှုသည်အကျိုးသက်ရောက်မှုကိုဆိုလိုသည်။
ဆက်သွယ်မှု၏ဇွဲကိုရှာဖွေရန်တောင်းဆိုမှုများကိုပုံမှန်စတင်နိုင်သည်။ ဥပမာအားဖြင့်, API ကိုခဏတစ်ကြိမ်တောင်းခံပြီးတုန့်ပြန်မှုသို့မဟုတ်ဆက်သွယ်မှုပိတ်ခြင်းအတွက်နှောင့်နှေးမှုကိုစစ်ဆေးပါ။