Curl Shared Shared အရင်းအမြစ်များသည်အရင်းအမြစ်အချို့ကိုမျှဝေရန် curl session များစွာကိုရည်ညွှန်းသည်။ လက်တွေ့ကျသောအပလီကေးရှင်းများ၌ curl တောင်းဆိုမှုများသည် DNS သို့မဟုတ် processings counteries များကိုခွဲခြမ်းစိတ်ဖြာခြင်းကဲ့သို့သောစစ်ဆင်ရေးလိုအပ်သည်။ ဤအရင်းအမြစ်များကိုမျှဝေခြင်းအားဖြင့် developer များကတောင်းဆိုမှုကိုထိရောက်မှုကိုတိုးတက်စေပြီးထပ်တူကွန်ယက်တောင်းဆိုမှုများနှင့်တွက်ချက်မှုများကိုရှောင်ရှားနိုင်သည်။
Curl_share_init function ကိုမျှဝေရန် Curl_share_init function ကိုထောက်ပံ့ပေးပြီးမျှဝေရန်အရင်းအမြစ်များကိုဖော်ပြရန် curlshopt_Share option နှင့်ပူးပေါင်းလုပ်ဆောင်သည်။ အသုံးအများဆုံးအရင်းအမြစ်များမှာ DNS resolution, cookies များနှင့် SSL sessions များပါဝင်သည်။
curl_share_init function ကို shared session တစ်ခုစတင်ရန်အသုံးပြုသည်။ ၎င်းသည်မျှဝေထားသောရွေးချယ်စရာများကိုသတ်မှတ်ရန်အသုံးပြုနိုင်သည့် shared လက်ကိုင်ကိုပြန်လည်ပေးအပ်ရန်အသုံးပြုသည်။ ဒီ function ရဲ့အခြေခံအဆောက်အအုံတွေပါ။
$share = curl_share_init();
ဤလုပ်ဆောင်ချက်သည်မျှဝေထားသောလက်ကိုင် $ မျှဝေမှုကို ရရှိစေပြီးမျှဝေထားသောအရင်းအမြစ်အမျိုးအစားကိုသတ်မှတ်ရန်သင်အသုံးပြုနိုင်သည်။
Curl_Share_setopt function မှတဆင့် developer များကမည်သည့်အရင်းအမြစ်များကိုမျှဝေရန်လိုအပ်သည့်တိကျစွာထိန်းချုပ်နိုင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် DNS resolution, cookie သိုလှောင်မှုသို့မဟုတ် SSL sessions များကိုမျှဝေရန်ရွေးချယ်နိုင်သည်။
DNS Resolution Sharing သည်အထူးသဖြင့်ဒိုမိန်းအမည်ကိုအကြိမ်ကြိမ်တောင်းခံခြင်းကိုရှောင်ကြဉ်သည့်အခါအထူးသဖြင့်တူညီသောအရာဝတ်ထုများကိုတောင်းဆိုသည့်အခါအများအားဖြင့် optimization အစီအမံများထဲမှတစ်ခုဖြစ်သည်။
curl_share_setopt($share, CURLSHOPT_SHARE, CURLSHARE_DNS);
ဒီ option သည် DNS resolution ၏ရလဒ်များကိုမျှဝေရန်မျှဝေထားသောလက်ကိုင်ကို သုံး. shaled လက်ကိုင်ကို သုံး. curl session အားလုံးကို enable လုပ်လိမ့်မည်။
curl တောင်းဆိုမှုများသည်တူညီသော cookies များလိုအပ်သည့်အခါ developer များက cookie အပြောင်းအလဲအတွက်အချိန်ကိုလျှော့ချရန် cookies များကိုမျှဝေနိုင်သည်။
curl_share_setopt($share, CURLSHOPT_SHARE, CURLSHARE_COOKIE);
ဤရွေးချယ်မှုသည်တူညီသော cookie သိုလှောင်မှုကိုမျှဝေရန် curl session များစွာကိုခွင့်ပြုသည်။
တောင်းဆိုမှုများသည်တူညီသော SSL session ကိုအသုံးပြုပါက SSL ဆက်သွယ်မှုကိုပြန်လည်တည်ဆောက်ခြင်းမှတားဆီးနိုင်သော SSL session ကိုမျှဝေရန်ရွေးချယ်နိုင်သည်။
curl_share_setopt($share, CURLSHOPT_SHARE, CURLSHARE_SSL);
ဤရွေးချယ်မှုသည် SSL session များကိုဝေမျှခြင်း, SSL handshipes အရေအတွက်ကိုလျှော့ချရန်ခွင့်ပြုသည်။
မျှဝေထားသော session ကိုစတင်ပြီးနောက်တွင်ကျွန်ုပ်တို့သည်၎င်းကိုတိကျသောဆံပင်ကောက်ကောက်တောင်းခံမှုဖြင့်ဆက်စပ်ရန်လိုအပ်သည်။ Curl တောင်းဆိုမှုတစ်ခုစီတွင် curl_setopt function ကို curl_setopt function ကို ဖြတ်. ခွဲထားသည့်လက်ကိုင်ကိုဖြတ်သန်းသွားသည်။
$ch = curl_init("http://example.m66.net");
curl_setopt($ch, CURLOPT_URL, "http://example.m66.net");
curl_setopt($ch, CURLOPT_SHARE, $share);
curl_exec($ch);
curl_close($ch);
အထက်ပါကုဒ်တွင်ကျွန်ုပ်တို့သည် Shared လက်ကိုင် $ ဝေမျှအားဖြင့် Curl session ကို $ ch သို့ဖြတ်သန်းသွားသောကြောင့်တောင်းဆိုမှုသည် DNS, cookie, sSL session တစ်ခုမျှဝေနိုင်သည်။
မျှဝေထားသော session တစ်ခုမရှိတော့သည့်အခါမျှဝေထားသော session ကို curl_share_close_close function ကို ဖြတ်. ပိတ်ထားနိုင်သည်။ သက်ဆိုင်ရာအရင်းအမြစ်များကိုဖြန့်ချိနိုင်သည်။
curl_share_close($share);
မျှဝေခြင်း granularity ရွေးချယ်မှု - DNS, Cookies များသို့မဟုတ် SSL sessions များကိုမျှဝေရန်မသင့်တော်ပါ။ ဤအရင်းအမြစ်များကိုမျှဝေချိန်တွင်တောင်းဆိုမှု၏လိုအပ်ချက်များကိုထည့်သွင်းစဉ်းစားရမည်။ ဥပမာအားဖြင့်ကွဲပြားခြားနားသော applications ကွဲပြားခြားနားသော cookie သိုလှောင်မှုပေါ်လစီများရှိနိုင်ပြီးအလွန်အကျွံမျှဝေခြင်းသည်အချို့သော privacy ဆိုင်ရာပြ issues နာများကိုဖြစ်ပေါ်စေနိုင်သည်။
မျှဝေထားသော session တစ်ခု၏ lifecycle - မျှဝေထားသော session တစ်ခု၏သက်တမ်းကို curl session နှင့်ကိုက်ညီပြီးဆံပင်ကောက်ကောက်မတောင်းဆိုမီပျက်စီးဆုံးခြင်းကိုရှောင်ရှားရန်သေချာစေပါ။
ဒိုမိန်းအမည်ကိုအစားထိုးခြင်း - အမှန်တကယ်အသုံးပြုသောအခါ,
သက်ဆိုင်သောတက်(ဂ်)များ:
Cookie