PHP တွင် HTTP တောင်းဆိုမှုများအတွက် curl စာကြည့်တိုက်ကိုအသုံးပြုသောအခါ, curl vietles တူညီသော curl_share အရာဝတ်ထုဝေမျှသည့်အခြေအနေများကြုံတွေ့ရသည့်အခြေအနေများကြုံတွေ့ရနိုင်သည်။ အထူးသဖြင့်တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများသို့မဟုတ်ဘက်စုံသောပတ် 0 န်းကျင်ရှိပတ် 0 န်းကျင်ရှိသည့်ပတ် 0 န်းကျင်ရှိ, ဤဆောင်းပါးသည်ဤပြ problem နာကို curl_share_init function ကိုမည်သို့ဖြေရှင်းရမည်ကိုဆွေးနွေးပါမည် ။
ကောက်ကောက်သည် ဆာဗာများနှင့်အခြားဆာဗာများအကြားဒေတာလွှဲပြောင်းမှုအတွက်အလွန်အစွမ်းထက်သော PHP တိုးချဲ့မှုဖြစ်သည်။ ၎င်းသည် protocols မျိုးစုံ (HTTP, FTP, SMTP စသည်ဖြင့်) နှင့်ကြွယ်ဝသော configuration options များပါ 0 င်သည်။ တစ်ပြိုင်နက်တည်း http တောင်းဆိုမှုအခြေအနေများတွင် curl_multi_ * တောင်းဆိုမှုများကိုစီမံရန် curl_multi_ * function ကိုပေးသည်။
Curl_Share သည်တူညီသောအရင်းအမြစ်များကိုတူညီသောအရင်းအမြစ်များကိုမျှဝေရန်ကြိုးခွဲခြားထားသည့်ယန္တရားများကိုခွင့်ပြုသည့်ယန္တရားတစ်ခုဖြစ်ပြီး (ကွတ်ကီးများ, curl_share_init function ကိုအသုံးပြုခြင်းအားဖြင့်မျှဝေထားသောအရာဝတ်ထုကိုအစပျိုးနိုင်ပြီးမျိုးစုံဆံပင်ကောက်ကောက်အမျိုးမျိုးကိုဤအရာဝတ်ထုတွင်အချက်အလက်များကိုမျှဝေနိုင်သည်။
Curl မျိုးစုံလက်ကိုင်များကိုတစ်ပြိုင်နက်တည်းကွပ်မျက်ခံရသောအခါအထူးသဖြင့်ချည်မျှင်ပေါင်းစုံသောပတ်ဝန်းကျင်တွင်မျှဝေထားသောအရင်းအမြစ်များကိုတစ်ပြိုင်နက်တည်း 0 င်ရောက်ပြီးပြုပြင်ပြောင်းလဲနိုင်သည်။ အကယ်. ဤအရင်းအမြစ်များသည်မှန်ကန်သောချည်မျှင်စနစ်ကောင်းမွန်သည့်ယန္တရားမရှိသေးပါက Thread ဘေးကင်းလုံခြုံမှုပြ issues နာများပေါ်ပေါက်လာလိမ့်မည်။
ဥပမာအားဖြင့်, ကျွန်ုပ်တို့တွင် curl_share အရာဝတ်ထုနှစ်ခုကိုသုံးရန် curl_share အရာဝတ်ထုကိုသုံးရန်တူညီသော curl_share အရာဝတ်ထုကို သုံး. curl_share အရာဝတ်ထုကို သုံး. curl_share အရာဝတ်ထုကို အသုံးပြု. တောင်းဆိုမှုများရှိသည်ဆိုပါစို့။
curl_share_init function ကိုမျှဝေထားသောအရာဝတ်ထုတစ်ခုကိုအစပျိုးပြီး curl_share မျိုးစုံအရင်းအမြစ်များကိုအချို့သောအရင်းအမြစ်များကိုမျှဝေနိုင်သည့် curl_share အရင်းအမြစ်ကိုပြန်ပို့ရန်အသုံးပြုသည်။ ချည်မျှင်ဘေးကင်းလုံခြုံရေးပြ issues နာများကိုရှောင်ရှားရန် curl_share_setop ကို သုံး. ဆံပင်ကောက်ကောက်လက်ကိုင်တစ်ခုချင်းစီသည်ပ conflict ိပက်ခကိုသေချာစေရန်သင့်တော်သောမျှဝေခြင်းရွေးချယ်စရာများကိုသတ်မှတ်ရန်အသုံးပြုသည်။
Curl_share_init ကိုသုံးပြီး curl_share_init ကိုအသုံးပြုခြင်း၏ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
<?php
// တစ် ဦး မျှဝေဖန်တီးပါ cURL ကန့်ကွက်
$share = curl_share_init();
// မျှဝေခြင်းရွေးချယ်စရာများကိုသတ်မှတ်ပါ
curl_share_setopt($share, CURLSHOPT_SHARE, CURLSH_COOKIE); // မျှဝေခဲ့သည် Cookie
curl_share_setopt($share, CURLSHOPT_SHARE, CURLSH_SSL_SESSION); // မျှဝေခဲ့သည် SSL ရုံးထိုင်အချိန်ကာလ
// နှစ်ခုအစပျိုး cURL လက်ကိုင်
$ch1 = curl_init();
$ch2 = curl_init();
// တည်ဆောက်သည် cURL လက်ကိုင်选项
curl_setopt($ch1, CURLOPT_URL, 'https://m66.net/path/to/resource1');
curl_setopt($ch2, CURLOPT_URL, 'https://m66.net/path/to/resource2');
// 绑定မျှဝေခဲ့သည်ကန့်ကွက်
curl_setopt($ch1, CURLOPT_SHARE, $share);
curl_setopt($ch2, CURLOPT_SHARE, $share);
// ကရိယာတန်းဆာ cURL မေးမြန်း
$response1 = curl_exec($ch1);
$response2 = curl_exec($ch2);
// အမှားများကိုစစ်ဆေးပါ
if(curl_errno($ch1)) {
echo 'Error with first request: ' . curl_error($ch1);
}
if(curl_errno($ch2)) {
echo 'Error with second request: ' . curl_error($ch2);
}
// ရုပ်သိမ်းခြင်း cURL လက်ကိုင်
curl_close($ch1);
curl_close($ch2);
// 释放မျှဝေခဲ့သည်ကန့်ကွက်
curl_share_close($share);
?>
curl_share_init : အရင်းအမြစ်များကိုမျှဝေရန် curl လက်ကိုင်များအတွက်မျှဝေထားသောအရာဝတ်ထု $ မျှဝေပါ ။
curl_share_setopt : သတ်မှတ်ခြင်းရွေးချယ်စရာများကိုသတ်မှတ်ပါ။ ဤနေရာတွင်ကျွန်ုပ်တို့သည်မျှဝေထားသော cookie ( curlsh_cookie ) နှင့် SSL session ကို သတ်မှတ်ရန်တောင်းဆိုမှုများသည်တူညီသော cookie နှင့် SSL sessional information ကိုမျှဝေနိုင်သည်။
curl_setopt : curl လက်ကိုင်တစ်ခုချင်းစီကို configure လုပ်ပါ, သူတို့တောင်းဆိုချက်ကိုကွပ်မျက်ရာတွင်တူညီသောအရင်းအမြစ်ကိုမျှဝေရန်အတွက်၎င်းတို့အားမျှဝေထားသောအရာ ဝတ်ထု ကိုသတ်မှတ်ပါ။
တောင်းဆိုမှုကို - တောင်းဆိုမှုနှစ်ခုကို execute လုပ်ရန် curl_exec ကို သုံးပါ။ မျှဝေထားသောအရာဝတ်ထုများမှတဆင့် Curl သည်လုံခြုံမှုကိုသေချာစေရန်တောင်းဆိုမှုများကိုနှစ် ဦး စလုံးတောင်းဆိုမှုများတွင်အရင်းအမြစ်များကိုမျှဝေသည်။
Cloud Resource : တောင်းဆိုမှုပြီးစီးပြီးနောက် curl လက်ကိုင်ကိုပိတ်ပြီးအရင်းအမြစ်ယိုစိမ့်မှုကိုရှောင်ရှားရန်မျှဝေထားသောအရာဝတ်ထုကိုထုတ်လွှတ်ပါ။