curl_close သည် PHP တွင် function တစ်ခုဖြစ်ပြီးဆံပင်ကောက်ကောက်ကိုပိတ်ရန်ဖြစ်သည်။ ၎င်းကိုကောက်ကောက် session တစ်ခုနှင့်ဆက်စပ်သောအရင်းအမြစ်များကိုအခမဲ့အသုံးပြုသည်။ အထူးသဖြင့်သယံဇာတယိုစိမ့်မှုကိုရှောင်ရှားနိုင်သည့်ရေရှည်ပရိုဂရမ်များ၌သင့်လျော်သော curl sessions များကိုအနီးကပ်ပိတ်ထားရန်အရေးကြီးသည်။
curl_close($ch);
ဤတွင် $ ch သည်ကျွန်ုပ်တို့အသုံးပြုနေသောဆံပင်ကောက်ကောက်ကိုညွှန်ပြသည့်ဆံပင်ကောက်ကောက်ကိုဆိုလိုသည်။ Curl တောင်းဆိုမှုတစ်ခုစီကိုကွပ်မျက်ခံရပြီးနောက် curl_close ကို သယံဇာတဖယ်ရှားရန်ခေါ်သင့်သည်။
HTTP တောင်းဆိုမှုကိုပြုလုပ်ရာတွင်အချိန်ကုန်အမှားတစ်ခုဖြစ်နိုင်သည်။ ဆံပင်ကောက်ကောက်နှစ်ခုအသုံးများသောအချိန်ယူရိတ္တော်ရွေးချယ်စရာများကိုထောက်ပံ့ပေးသည်။
curlopt_timeout : အများဆုံးကွပ်မျက်အချိန်။
curlopt_connectimeout : ဆက်သွယ်မှုကအချိန်ကိုက်။
အကယ်. တောင်းဆိုမှုသည်အချိန်ကုန်သက်သာလျှင် curl အမှားတစ်ခုဖြစ်သောအမှားတစ်ခုဖြစ်သော, များသောအားဖြင့် curle_operation_timedout အမှားဖြစ်သည်။ ဤကိစ္စတွင် curl သည်လက်ရှိတောင်းဆိုမှုကိုဖျက်သိမ်းလိုက်သည်, သို့သော်၎င်းသည် session အရင်းအမြစ်ကိုအလိုအလျောက်လွှတ်ပေးရန်မဆိုလိုပါ။ ထို့ကြောင့်ကျွန်ုပ်တို့သည် session ကိုပိတ်ရန်အချိန်ကုန်ပြီးနောက် curl_close ဟု အတိအလင်းခေါ်ဆိုရမည်။
HTTP တောင်းဆိုမှုတစ်ခု၏အချိန်ကာလတစ်ခုတွင်ကျွန်ုပ်တို့သည် curl session ကိုပိတ်ပစ်ရုံသာမကမှတ်ဉာဏ်ယိုစိမ့်မှုသို့မဟုတ်ပရိုဂရမ်ပျက်ခြင်းကိုရှောင်ရှားရန်အမှားကိုမှန်ကန်စွာကိုင်တွယ်သင့်သည်။ အောက်ဖော်ပြပါအချက်များသည် curl တောင်းဆိုမှုများတွင်အချိန်ကုန်အမှားများကိုမည်သို့မှန်ကန်စွာကိုင်တွယ်ရမည်ကိုပြသသည့်ဥပမာတစ်ခုဖြစ်သည်။
<?php
// ဖြစ်ပေါ်လာခြင်း cURL ရုံးထိုင်အချိန်ကာလ
$ch = curl_init();
// တောင်းဆိုမှုကို set up URL
curl_setopt($ch, CURLOPT_URL, "http://gitbox.net/api/data");
// တစ် ဦး string ကိုမှပြန်လာသောအကြောင်းအရာထားရှိပါ
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// အချိန်ကုန်အချိန်ကိုသတ်မှတ်ပါ 5 စက်ဏန့်
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
// တောင်းဆိုမှုကို execute
$response = curl_exec($ch);
// အမှားတစ်ခုဖြစ်ပွားခဲ့သည်စစ်ဆေးပါ
if (curl_errno($ch)) {
// အမှားမက်ဆေ့ခ်ျကိုရယူပါ
echo "cURL အမှား: " . curl_error($ch);
// 如果发生超时အမှား
if (curl_errno($ch) == CURLE_OPERATION_TIMEDOUT) {
echo "တောင်းဆိုမှုတောင်းဆိုခြင်း!အချိန်ကုန်အခြေအနေကိုလုပ်ငန်းများ၌ဆောင်ရွက်နေသည်...";
}
}
// 如果没有အမှား,ပြန်လာသောဒေတာကို process
if ($response !== false) {
// 正常ပြန်လာသောဒေတာကို process
echo "တောင်းဆိုမှုအောင်မြင်ခဲ့: " . $response;
}
// ရုပ်သိမ်းခြင်း cURL ရုံးထိုင်အချိန်ကာလ
curl_close($ch);
?>
ဤကုဒ်တွင်ကျွန်ုပ်တို့သည် curl session တစ်ခုကိုပထမ ဦး ဆုံးအစပြုပြီးတောင်းဆိုထားသော URL နှင့်အချိန်ကုန် parameters များကိုသတ်မှတ်ထားသည်။ နောက်တစ်ခုကတော့ curl_exec () ကိုသုံးပြီးအမှားအယွင်းများရှိမရှိစစ်ဆေးရန် curl_errno () ကို အသုံးပြုသည်။ အချိန်ကုန်အမှား ( curle_operation_timedout ) ဖြစ်လျှင်အသုံးပြုသူအားတောင်းဆိုခြင်းသို့မဟုတ်အကြောင်းကြားခြင်းကဲ့သို့သောအမှားကိုင်တွယ်မှုအပိုင်းတွင်နောက်ထပ်ယုတ္တိရှိရှိလုပ်ဆောင်မှုများပြုလုပ်နိုင်သည်။
အချိန်ကုန်ခြင်းဖြစ်စေ ,
တောင်းဆိုမှုအချိန်ကုန်ပြီးနောက် curl session ကိုစနစ်တကျပိတ်ထားပါက PHP သည်မှတ်ဉာဏ်နှင့်အရင်းအမြစ်များကိုဆက်လက်သုံးစွဲလိမ့်မည်။ Php scripts (သို့) အလွန်အမင်းတစ်ပြိုင်နက်တည်းက concurrent တောင်းဆိုမှုများသည်စနစ်အရင်းအမြစ်များမလုံလောက်ခြင်းများကိုဖြစ်ပေါ်စေပြီးဆာဗာပျက်ကျစေနိုင်သည်။ ထို့ကြောင့် curl_close ကို အခမဲ့အရင်းအမြစ်များသို့အသုံးပြုရန်အလွန်အရေးကြီးသည်။
ထို့အပြင်တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများစွာကိုကိုင်တွယ်နေစဉ် curl session တစ်ခုကိုပိတ်ရန်မေ့နေခြင်းသည်စွမ်းဆောင်ရည်ပြ issues နာများနှင့်မှတ်ဉာဏ်ယိုစိမ့်မှုကဲ့သို့သောအမှားများကိုဖြစ်ပေါ်စေသည်။