PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကွန်ယက်တောင်းဆိုမှုများအတွက် ဆံပင်ကောက်ကောက်ကို အသုံးပြုခြင်းသည်အလွန်များသောအားဖြင့်ဖြစ်သည်။ သို့သော်တောင်းဆိုထားသောဝေးလံခေါင်သီသောဆာဗာသည်ဖြည်းဖြည်းချင်းတုန့်ပြန်မှုမရှိပါကသို့မဟုတ်လုံးဝမတုံ့ပြန်ပါက၎င်းသည်ပရိုဂရမ်သည်အချိန်ကြာမြင့်စွာစောင့်ဆိုင်းရန်ဖြစ်စေ, ဤအခြေအနေကိုရှောင်ရှားရန်အစီအစဉ်၏တည်ငြိမ်မှုနှင့်တုန့်ပြန်မှုမြန်နှုန်းကိုသေချာစေရန် curl_init မှတစ်ဆင့်တောင်းဆိုထားသောအချိန်ကိုအချိန်ပေးနိုင်သည်။ ဤဆောင်းပါးသည်အချိန်ကုန်ခံထားသော parameters များကိုသတ်မှတ်ရန်နှင့်အနှောင့်အယှက်ပေးခြင်းမှကာကွယ်ရန်လက်တွေ့ကျသောအကြံပြုချက်များကိုပေးရန် curl_init ကို မည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်မိတ်ဆက်ပေးပါမည်။
ကွန်ယက်တောင်းဆိုမှုများနှောင့်နှေးခြင်းသို့မဟုတ်ကျရှုံးမှုများသည်မလွှဲမရှောင်သာဖြစ်ပြီးအထူးသဖြင့်တတိယပါတီ interfaces များသို့ခေါ်ဆိုသည်။ အကယ်. အချိန်ကုန်မသတ်မှတ်ထားပါက curl_exec သည် 0 န်ဆောင်မှုပေးခြင်းနှင့် 0 န်ဆောင်မှု၏ပုံမှန်လည်ပတ်မှုအပေါ်တွင်ပါ 0 င်ရန် PHP screen ကိုတားဆီးရန် php script ကိုဆက်လက်ထိန်းသိမ်းထားသည်။ ထို့ကြောင့်, တောင်းခံမှုအချိန်ကုန်ခြင်းသည် PHP အစီအစဉ်များအားကြံ့ခိုင်မှုအတွက်အရေးပါသောအာမခံချက်ဖြစ်သည်။
ရွေးချယ်စရာအမျိုးမျိုးကိုသတ်မှတ်ရန် PHP တွင် curl_setop ကို အသုံးပြုပါ။ အောက်ဖော်ပြပါ parameters နှစ်ခုသည် TIMEOut နှင့်သက်ဆိုင်သည်။
curlopt_connectimeout : connection increasionation အတွက်အချိန်ကုန် (စက္ကန့်အနည်းငယ်) ကိုသတ်မှတ်သည်။
curlopt_toOut : The Connection Connection Connection တစ်ခုလုံးကိုတောင်းဆိုမှုတစ်ခုလုံးအတွက်အချိန်ကုန်လွှာ (စက္ကန့်အနည်းငယ်) ကိုသတ်မှတ်သည်။
ရိုးရှင်းတဲ့ဥပမာတစ်ခုပေးပါက:
<?php
$ch = curl_init('https://gitbox.net/api/test'); // ဒိုမိန်းအမည်ကိုအစားထိုးပါ gitbox.net
// ဆက်သွယ်မှုအချိန်ကုန်ကိုသတ်မှတ်ပါ5စက်ဏန့်
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
// Execution Timeout အချိန်သတ်မှတ်ပါ10စက်ဏန့်
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
// တိုက်ရိုက် output ကိုအစားပြန်လာရလဒ်များ
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if (curl_errno($ch)) {
echo 'အမှားတောင်းဆိုခြင်း:' . curl_error($ch);
} else {
echo 'တောင်းဆိုမှုအောင်မြင်ခဲ့,ရလဒ်ပြန်လာရလဒ်:' . $response;
}
curl_close($ch);
?>
အထက်ဖော်ပြပါကုဒ်များတွင်ဆာဗာနှင့်ချိတ်ဆက်ရန်အများဆုံး 5 စက္ကန့်ကိုစောင့်ဆိုင်းနေပြီးတောင်းဆိုမှုတစ်ခုလုံးသည်အများဆုံး 10 စက္ကန့်ကိုစောင့်သည်။ အချိန်ကုန်ပြီးနောက် Curl_exec သည် မှားယွင်းစွာ ပြန်ယူပြီးအမှားကုဒ်ကို curl_errno မှတစ်ဆင့်ရလိမ့်မည်။
ကျိုးကြောင်းဆီလျော်သောအချိန်ကုန် parameters တွေကိုသတ်မှတ်
အလွန်အကျွံစောင့်ဆိုင်းခြင်းမှရှောင်ရှားရန် interface ၏တုံ့ပြန်မှုမြန်နှုန်းအရ curlopt_Connectimeout နှင့် curlopt_timeout ကို ကျိုးကြောင်းဆီလျော်စွာညှိပါ။
ပိတ်ဆို့ခြင်းမဟုတ်သော mode ကိုဖွင့်ပါ (optional)
တောင်းဆိုမှုများစွာရှိပါက curl_multi ကို အသုံးပြုခြင်းသည်ပရိုဂရမ်တစ်ခုလုံးကိုတောင်းဆိုခြင်းအားဖြင့်ပရိုဂရမ်တစ်ခုလုံးကိုပိတ်ဆို့ခြင်းမှရှောင်ရှားရန်တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုအကောင်အထည်ဖော်နိုင်သည်။
ပြန်လည်ပြုပြင်ခြင်းယန္တရားကို set up
ကွန်ယက်တောင်းဆိုမှုများသည်ရံဖန်ရံခါပျက်ကွက်ခြင်းနှင့်အချိန်ကုန်ခြင်းများကိုပေါင်းစပ်ပြီးယုတ္တိဗေဒကိုပြန်လည်ရယူခြင်းဖြင့်အောင်မြင်မှုနှုန်းကိုတိုးတက်အောင်လုပ်နိုင်သည်။
သစ်ထုတ်လုပ်ခြင်းနှင့်နှိုးစက်
အချိန်ကုန်များကိုစောင့်ကြည့်ခြင်းနှင့်ပျက်ကွက်တောင်းဆိုမှုများကိုစောင့်ကြည့်ခြင်းနှင့် interfaces များကိုချက်ချင်းဖြေရှင်းခြင်းနှင့် optimize လုပ်ပါ။
DNS Resolution နှောင့်နှေးမှုကိုရှောင်ပါ
resolution အချိန်ကိုလျှော့ချရန် DNS Resolution Resolution ကို CIRSOPT_DNS_CICE_TIMEROOT ကို ဖွင့်နိုင်သည်။
PHP တွင် curl_init ကို အသုံးပြုသည့်အခါအချိန်ကုန်ခံပြီးအချိန်နှင့်ရေရှည်ပိတ်ဆို့ခြင်းကိုထိထိရောက်ရောက်ပိတ်ဆို့ခြင်းနှင့်ပရိုဂရမ်များအနိုင်ရေးကိုထိထိရောက်ရောက်ကာကွယ်နိုင်သည်။ တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများနှင့်ပြန်လည်တောင်းခံမှုယန္တရားများနှင့်ပေါင်းစပ်ပြီးသင်၏ network တောင်းဆိုမှုများကိုပိုမိုတည်ငြိမ်ပြီးယုံကြည်စိတ်ချရစေနိုင်သည်။