ကွန်ယက်တောင်းဆိုမှုများအတွက် PHP ကိုအသုံးပြုသောအခါ curl သည် အခြားဆာဗာများနှင့်ဆက်သွယ်ရန်ခွင့်ပြုထားသောစာကြည့်တိုက်တစ်ခုဖြစ်သည်။ သို့သော်အချို့ဖြစ်ရပ်များတွင်အချို့သောအရင်းအမြစ်များ (cookies များ, ဖိုင်များ, ဖိုင်များ, descriptions စသည်တို့) အကြားရှိ cookies များ, ဤအချိန်တွင် curl_share_init function သည်အသုံးဝင်သည်။
curl_share_init () သည် php curl function ဖြစ်သည်။ ဤမျှဝေထားသောလက်ကိုင်ကို curl session များ၌မျှဝေနိုင်သည်။ Session ရှိ cookies များကို cookies များ, dns မေးမြန်းမှုရလဒ်များ, ဖိုင်များ descriptor များစသည်တို့ကိုမျှဝေရန်ခွင့်ပြုသည်။
curl_share_init () ကို အသုံးပြုခြင်း () ကိုအသုံးပြုခြင်းသည်တောင်းဆိုမှုများစွာအကြားတူညီသောသယံဇာတများကိုထပ်ခါတလဲလဲတင်ခြင်းကိုရှောင်ရှားနိုင်သည်။ ဤလုပ်ဆောင်ချက်သည်မျှဝေထားသောလက်ကိုင်ကိုပြန်ပို့ သည် ။
<span><span><span class="hljs-variable">$share</span></span><span> = </span><span><span class="hljs-title function_ invoke__">curl_share_init</span></span><span>();
</span></span>
ဤလုပ်ဆောင်ချက်ကိုခေါ်သည့်အခါ၎င်းသည် curl session များအကြားအရင်းအမြစ်များကိုမျှဝေမည့်မျှဝေထားသောလက်ကိုင် ဒေါ်လာမျှဝေသည် ။ မျှဝေထားသောအရင်းအမြစ်များ၏အပြုအမူကိုသတ်မှတ်ရန်ဤလက်ကိုင်ကိုသင်အသုံးပြုနိုင်သည်။
မျှဝေထားသောလက်ကိုင်ကိုအောင်မြင်စွာစတင်သည်နှင့်တပြိုင်နက် curl_share_setopt ကို သုံးနိုင်သည်။ အသုံးများသောမျှဝေထားသောအရင်းအမြစ်များတွင် -
curlopt_share : မည်သည့်အရင်းအမြစ်များကိုမျှဝေမည်ကိုသတ်မှတ်ရန်အသုံးပြုသည်။ အရင်းအမြစ်များကိုမျှဝေရန်အရင်းအမြစ်များကိုရပ်တန့်ရန်အရင်းအမြစ်များကို မျှဝေရန် curlshopt_Sare ကို သင်သတ်မှတ်နိုင်သည်။
curlshopt_share (shared cookie) : မျိုးစုံအစည်းအဝေးများအတူတူ cookie ဒေတာကိုမျှဝေပါ။
curlshopt_share (shared dns) : မျိုးစုံအစည်းအဝေးများသည်တူညီသော DNS resolution cache ကိုမျှဝေပါ။
curlshopt_share (shared file descriptor) - မျှဝေထားသော ဖိုင်ဖော်ပြချက် - တူညီသောဖိုင်ကိုဖတ်ရန်လိုအပ်သည့်အခါ curl sessions များအတွက်သင့်လျော်သော finish descriptor ။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// အဆိုပါ shared လက်ကိုင်ကိုအစပျိုး</span></span><span>
</span><span><span class="hljs-variable">$share</span></span><span> = </span><span><span class="hljs-title function_ invoke__">curl_share_init</span></span><span>();
</span><span><span class="hljs-comment">// မျှဝေထားသောအရင်းအမြစ်များကို set up(ဥပမာအားဖြင့်မျှဝေခြင်းcookie)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">curl_share_setopt</span></span><span>(</span><span><span class="hljs-variable">$share</span></span><span>, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
</span><span><span class="hljs-comment">// ဖြစ်ပေါ်လာခြင်းcURLလက်ကိုင်1</span></span><span>
</span><span><span class="hljs-variable">$ch1</span></span><span> = </span><span><span class="hljs-title function_ invoke__">curl_init</span></span><span>();
</span><span><span class="hljs-title function_ invoke__">curl_setopt</span></span><span>(</span><span><span class="hljs-variable">$ch1</span></span><span>, CURLOPT_URL, </span><span><span class="hljs-string">'http://example.com'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">curl_setopt</span></span><span>(</span><span><span class="hljs-variable">$ch1</span></span><span>, CURLOPT_SHARE, </span><span><span class="hljs-variable">$share</span></span><span>);
</span><span><span class="hljs-comment">// ဖြစ်ပေါ်လာခြင်းcURLလက်ကိုင်2</span></span><span>
</span><span><span class="hljs-variable">$ch2</span></span><span> = </span><span><span class="hljs-title function_ invoke__">curl_init</span></span><span>();
</span><span><span class="hljs-title function_ invoke__">curl_setopt</span></span><span>(</span><span><span class="hljs-variable">$ch2</span></span><span>, CURLOPT_URL, </span><span><span class="hljs-string">'http://example.org'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">curl_setopt</span></span><span>(</span><span><span class="hljs-variable">$ch2</span></span><span>, CURLOPT_SHARE, </span><span><span class="hljs-variable">$share</span></span><span>);
</span><span><span class="hljs-comment">// ကရိယာတန်းဆာcURLမေးမြန်း</span></span><span>
</span><span><span class="hljs-title function_ invoke__">curl_exec</span></span><span>(</span><span><span class="hljs-variable">$ch1</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">curl_exec</span></span><span>(</span><span><span class="hljs-variable">$ch2</span></span><span>);
</span><span><span class="hljs-comment">// ရုပ်သိမ်းခြင်းcURLလက်ကိုင်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">curl_close</span></span><span>(</span><span><span class="hljs-variable">$ch1</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">curl_close</span></span><span>(</span><span><span class="hljs-variable">$ch2</span></span><span>);
</span><span><span class="hljs-comment">// ရုပ်သိမ်းခြင်း共享လက်ကိုင်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">curl_share_close</span></span><span>(</span><span><span class="hljs-variable">$share</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
အထက်ပါဥပမာတွင်ကျွန်ုပ်တို့သည် cookie အချက်အလက်များကိုမျှဝေရန်၎င်းကိုမျှဝေထားသောလက်ကိုင်ကို ရှာပြီး configure လုပ်ပါ။ ထို့နောက်ကျွန်ုပ်တို့သည် ဒေါ်လာ ch1 နှင့် $ ch2 လက်ကိုင် 2 ခုကိုဖန်တီးပြီးအတူတူမျှဝေထားသောလက်ကိုင်ကိုမျှဝေရန်နှစ် ဦး စလုံးကိုသတ်မှတ်သည်။ နောက်ဆုံးအနေဖြင့်တောင်းဆိုမှုကိုအကောင်အထည်ဖော်ရန်နှင့် curl လက်ကိုင်များအပြင် shared handles များကိုပိတ်ပါ။
Curl_Share_init သည်အထူးသဖြင့်အောက်ပါအခြေအနေများတွင်အရင်းအမြစ်များစွာအကြားအရင်းအမြစ်များကိုဝေမျှသောအခါအလွန်အသုံးဝင်သည်။
တောင်းဆိုမှုများစွာတွင် cookies များကိုမျှဝေပါ ။ အကယ်. သင်သည် HTTP တောင်းဆိုမှုများကိုအကောင်အထည်ဖော်နေပါကသင်တောင်းဆိုမှုများသည်တူညီသော session တစ်ခုနှင့်အတူတူပင် session ကိုဆက်လက်ထိန်းသိမ်းထားရန်လိုအပ်ပါကသင်က cookies များကိုမျှဝေနိုင်သည်။
Shared DNS resolution : အကယ်. သင်သည်ကွန်ယက်တောင်းဆိုမှုများနှင့်ဤတောင်းဆိုမှုများအတွက် target server တစ်ခုပြုလုပ်ပါက DNS Sharing သည် DNS Resolution ၏ overhead ကိုလျှော့ချနိုင်သည်။
Shared file descriptor : Shared file descriptions သည်ဖိုင်အမျိုးအစားအသစ်များကိုဖတ်ရန်လိုအပ်သည့်အခါဖိုင်များကိုဖတ်ရှုနိုင်ရန်အထောက်အကူပြုသည်။
တစ်ပြိုင်နက်တည်းကွပ်မျက်ခြင်း - ဆံပင်ကောက်ကောက်စာများကိုမျှဝေသောအခါပြိုင်ပွဲအခြေအနေများကိုရှောင်ရှားရန်တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုသင်ကိုင်တွယ်ပါ။ ဥပမာအားဖြင့်, ဆံပင်ကောက်ကောက် session တစ်ခုသည်တစ်ချိန်တည်းတွင်မျှဝေထားသောအရင်းအမြစ်များကို 0 င်ရောက်နိုင်ပြီးချည်နှောင်ထားရန်လိုအပ်သည်။
Shared အရင်းအမြစ်များအကန့်အသတ် - curl_share_init သည် အရင်းအမြစ်များကိုမျှဝေရန်စွမ်းရည်ကိုထောက်ပံ့သော်လည်းအရင်းအမြစ်များအားလုံးကိုမျှဝေနိုင်သည်။ ကောက်ကောက်ကောက်ခံသောအရင်းအမြစ်အမျိုးအစားများကိုနားလည်ရန်အရေးကြီးသည်။
မျှဝေထားသောလက်ကိုင်၏ lifecycle - မျှဝေထားသောလက်ကိုင်သည် curl session များစွာအကြားအရင်းအမြစ်ကိုမျှဝေသည်။
curl_share_init သည် PHP တွင်ဆံပင်ကောက်ကောက်အတွက်ထိရောက်သောသယံဇာတမျှဝေခြင်းယန္တရားကိုထောက်ပံ့ပေးသည်။ မျှဝေထားသောလက်ကိုင်များကိုကျိုးကြောင်းဆီလျော်စွာအသုံးပြုခြင်းအားဖြင့်သင်မိတ္တူပွားပမာဏကိုလျှော့ချပြီးအစီအစဉ်စွမ်းဆောင်ရည်ကိုတိုးတက်စေနိုင်သည်။ curl_share_init ၏အသုံးပြုမှုကိုကျွမ်းကျင်မှုသည်ဆံပင်ကောက်ကောက်လုပ်ငန်းများ၏ပြောင်းလွယ်ပြင်လွယ်မှုနှင့်ထိရောက်မှုကိုတိုးတက်စေရန်အလွန်အထောက်အကူပြုသည်။