<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// အောက်ပါဆောင်းပါး၏အကြောင်းအရာနှင့်အတူလုပ်ဖို့ဘာမျှမဖြစ်ပါတယ် PHP Code Page</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဝမ်းသာစွာနှုတ်ဆက်ခြင်းPHPဝစ်ဂျက်များ!\n"</span></span><span>;
</span><span><span class="hljs-variable">$time</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"လက်ရှိအချိန်: <span class="hljs-subst">$time</span></span></span><span>\n";
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
PHP တွင်တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကို curl_multi_ * စီးရီးလုပ်ဆောင်မှုများကို အသုံးပြု. အကောင်အထည်ဖော်နိုင်ပြီး HTTP တောင်းဆိုမှုများကိုတိုးတက်စေသည်။ သို့သော်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် curl_multi_remove_handle () ခေါ်ဆိုမှုများသည်မကြာခဏကျရှုံးသည်။ ဤဆောင်းပါးသည်ဘများအားဖြင့်ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်အမြန်ပြ troubl နာဖြေရှင်းခြင်းနှင့်ဖြေရှင်းနည်းများကိုပေးလိမ့်မည်။
curl_multi_remove_handle () ကို curl multithreaded လက်ကိုင်မှလက်ကိုင်လက်ကိုင်တစ်ခုဖယ်ရှားရန်အသုံးပြုသည်။
<span><span><span class="hljs-variable">$mh</span></span><span> = </span><span><span class="hljs-title function_ invoke__">curl_multi_init</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-string">"https://example.com"</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-string">"https://example.org"</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">curl_multi_add_handle</span></span><span>(</span><span><span class="hljs-variable">$mh</span></span><span>, </span><span><span class="hljs-variable">$ch1</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">curl_multi_add_handle</span></span><span>(</span><span><span class="hljs-variable">$mh</span></span><span>, </span><span><span class="hljs-variable">$ch2</span></span><span>);
</span><span><span class="hljs-comment">// တောင်းဆိုမှုကို execute</span></span><span>
</span><span><span class="hljs-variable">$running</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>;
</span><span><span class="hljs-keyword">do</span></span><span> {
</span><span><span class="hljs-title function_ invoke__">curl_multi_exec</span></span><span>(</span><span><span class="hljs-variable">$mh</span></span><span>, </span><span><span class="hljs-variable">$running</span></span><span>);
} </span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$running</span></span><span> > </span><span><span class="hljs-number">0</span></span><span>);
</span><span><span class="hljs-comment">// လက်ကိုင်ကိုဖယ်ရှားပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">curl_multi_remove_handle</span></span><span>(</span><span><span class="hljs-variable">$mh</span></span><span>, </span><span><span class="hljs-variable">$ch1</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">curl_multi_remove_handle</span></span><span>(</span><span><span class="hljs-variable">$mh</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_multi_close</span></span><span>(</span><span><span class="hljs-variable">$mh</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>
အကယ်. curl_multi_remove_handle () ခေါ်ဆိုမှုသည်ပျက်ကွက်လျှင် မှားယွင်းသောအ ယူမှားသည်။
လက်ကိုင်ကို Multi Multi Match <br> Curl_Multi_add_add_handle () မှ Multi Musti () ကိုထည့်သွင်းနိုင်သည့်ဆံပင်ကောက်ကောက်ကိုသာကိုင်တွယ်နိုင်သည်။ အကယ်. လက်ကိုင်ကိုဘယ်သောအခါမျှထည့်သွင်းခြင်းမရှိဖူးပါက curl_multi_remove_handle () ကိုခေါ်ဆိုခြင်းကမကျပါလိမ့်မည်။
လက်ကိုင်ကိုပြန်လုပ်ပါ တူညီသောဆံပင်ကောက်ကောက်လက်ကိုင်ကိုတစ်ကြိမ်သာလက်ကိုင်မှသာဖယ်ရှားနိုင်သည်။ များစွာသောခေါ်ဆိုမှုများသည်ရှုံးနိမ့်မှုဖြစ်စေလိမ့်မည်။
Multi လက်ကိုင်ပိတ်ထားသည် curl_multi_close () ကို curl_multi_remove_handle () ကိုမခေါ်မီကွပ်မျက်ခံရ လျှင်,
ကွပ်မျက်ခံရစဉ်အတွင်းကောက်ကောက်မရပ်ပါ Multi-exec line loop ( curl_multi_exec ) သည်မပြီးဆုံးပါကသို့မဟုတ်လက်ကိုင်ကိုဖယ်ရှားရန်ကြိုးစားနေသည်။ များသောအားဖြင့် $ အပြေး 0 ဦး ပထမ ဦး ဆုံးဖြစ်ကြောင်းသေချာစေရန်အကြံပြုသည်။
အကျင့်ပျက်သယံဇာတအရင်းအမြစ်သို့မဟုတ်မမှန်ကန်သောလက်ကိုင် <br> <br> ဆံပင်ကိုပိတ်ထားသို့မဟုတ်မမျှော်လင့်ဘဲပိတ်ထားလျှင်၎င်းသည်ဖယ်ရှားပစ်နိုင်သည်။ ဤသည်မကြာခဏကိုင်တွယ်ကိုင်တွယ်သို့မဟုတ် error အရင်းအမြစ်စီမံခန့်ခွဲမှုတွင်ဖြစ်ပေါ်လေ့ရှိပါတယ်။
လက်ကိုင် multi မှထည့်သွင်းထားကြောင်းအတည်ပြုပါ
curl_multi_remove_handle () ကို မခေါ်မီသင်ကထပ်ထည့်ထားသောလက်ကိုင်ကိုမှတ်တမ်းတင်နိုင်သည်။
<span><span><span class="hljs-variable">$handles</span></span><span> = [];
</span><span><span class="hljs-title function_ invoke__">curl_multi_add_handle</span></span><span>(</span><span><span class="hljs-variable">$mh</span></span><span>, </span><span><span class="hljs-variable">$ch1</span></span><span>);
</span><span><span class="hljs-variable">$handles</span></span><span>[] = </span><span><span class="hljs-variable">$ch1</span></span><span>;
</span></span>
လက်ကိုင်မျိုးစုံကိုသေချာအောင်လုပ်ပါ ။ curl_multi_close () ကိုမခေါ်မီဖယ်ရှားရေးစစ်ဆင်ရေးလုပ်ဆောင်ပါ။
ဖြည့်စွက်ရန်တောင်းဆိုမှုများအားလုံးကိုစောင့်ပါ $ အပြေး 0 သည် 0 င်ဟုတ်မဟုတ်စစ်ဆေးရန်ကွင်းဆက်တစ်ခုကိုသုံးပါ။ ထို့နောက်လက်ကိုင်ကိုဖယ်ရှားပါ။
<span><span><span class="hljs-keyword">do</span></span><span> {
</span><span><span class="hljs-title function_ invoke__">curl_multi_exec</span></span><span>(</span><span><span class="hljs-variable">$mh</span></span><span>, </span><span><span class="hljs-variable">$running</span></span><span>);
} </span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$running</span></span><span> > </span><span><span class="hljs-number">0</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">curl_multi_remove_handle</span></span><span>(</span><span><span class="hljs-variable">$mh</span></span><span>, </span><span><span class="hljs-variable">$ch1</span></span><span>);
</span></span>
Reward Value နှင့် Error Message ကိုစစ်ဆေးပါ အကယ်. မှားယွင်းသော ပြန်လာလျှင် curl_Error ($ ch) သို့မဟုတ် curl_multi_errno ($ MH) မှတဆင့်တိကျသောအမှားအချက်အလက်များကိုသင်ရရှိနိုင်သည်။
Debug Log <br> <br> ရှုပ်ထွေးသောတစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများတွင်အစဉ်အဆက်ထည့်သွင်းထားသည့်အမိန့်ကိုထပ်ခါတလဲလဲဖယ်ရှားခြင်းသို့မဟုတ်ဖယ်ရှားခြင်းမပြုဘဲဖယ်ရှားခြင်းမပြုဘဲဖယ်ရှားရန်မှတ်တမ်းများကိုမှတ်တမ်းတင်ရန်အသုံးပြုနိုင်သည်။
အမြဲတမ်း curl လက်ကိုင်တစ်ခုချင်းစီကိုတစ်ကြိမ်သာထည့်သွင်းပြီးတစ်ကြိမ်သာဖယ်ရှားကြောင်းသေချာပါစေ။
လက်ကိုင်ကိုမဖယ်ရှားမီ Multi Execute Loop ပြီးဆုံးအောင်လုပ်ပါ။
Multi Multi Multies ကိုပိတ်ပြီးသည့်နောက်ကိုယ်ပွားလက်ကိုင်ကိုမဖယ်ရှားပါနှင့်။
ပြ problems နာများ၏လျင်မြန်စွာတည်နေရာကိုလွယ်ကူချောမွေ့စေရန် Debug Logging လက်ကိုင်အဆင့်ကိုသုံးပါ။
အကယ်. သင်သည်ချွင်းချက်သို့မဟုတ်အရင်းအမြစ်အဂတိလိုက်စားမှုကိုကြုံတွေ့ရပါကလက်ကိုင်ကိုပြန်လည်စတင်ရန်နှင့်၎င်းကိုစမ်းကြည့်နိုင်သည်။
အထက်ဖော်ပြပါနည်းလမ်းကိုလိုက်နာခြင်းအားဖြင့် curlulti_remove_handle () ခေါ်ဆိုမှု၏ပျက်ကွက်မှုသည် PHP တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုထိရောက်စွာလျှော့ချနိုင်ပြီးတည်ငြိမ်မှုနှင့်ထိန်းသိမ်းခြင်းကိုတိုးတက်စေနိုင်သည်။