လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> curl_error () နှင့် curl_errno () ပျက်ကွက်မှုပြ problems နာများကိုမျှဝေခြင်းပြ problems နာများကိုဖြေရှင်းရန်

curl_error () နှင့် curl_errno () ပျက်ကွက်မှုပြ problems နာများကိုမျှဝေခြင်းပြ problems နာများကိုဖြေရှင်းရန်

M66 2025-05-31

ကွန်ယက်တောင်းဆိုမှုများပြုလုပ်ရန် PHP ၏ Curl Library ကိုအသုံးပြုသောအခါ curl_share_init () function သည် shared function ကိုအစပြုရန်အသုံးပြုသည်။ သို့သော် developer များစွာသည် သယံဇာတ ပ conflicts ိပက်ခများ,

ဤဆောင်းပါးသည်သင်အား debugging tools များ , curl_error () နှင့် curl_errno () မှတဆင့် curl_share_INIT မှဖြစ်ပေါ်လာသောပျက်ကွက်မှုပြ problems နာများကိုဖြေရှင်းရန်နှင့်မည်သို့ဖြေရှင်းရန်မည်သို့ဖြေရှင်းရမည်ကိုနားလည်ရန်သင့်ကို

1 ?? curl_share_init ဆိုတာဘာလဲ။

curl_share_init () ကိုမျှဝေရန်အရင်းအမြစ်အမျိုးအစားကိုသတ်မှတ်ရန် curl_share_setopt () နှင့် တွဲဖက်. များသောအားဖြင့် curl_share_setopt () ကို အသုံးပြုလေ့ရှိသည်။ နောက်ဆုံးအနေဖြင့်လက်ကိုင်ကိုထုတ်လွှတ်ရန် Curl_Share_Close () ကို သုံးရန်လိုအပ်သည်။

ရိုးရှင်းသောဥပမာ -

 $sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

သို့သော်လည်း, မမှန်မကန်သို့မဟုတ်မှားယွင်းစွာအသုံးပြုပါကအချို့သောဝေမျှခြင်းလုပ်ငန်းများသည်ပျက်ကွက်ခြင်း,

2 ?? ပျက်ကွက်မျှဝေရန်ဘုံအကြောင်းပြချက်

ပျက်ကွက်မှု၏အကြောင်းရင်းများတွင် -

  • ကွဲပြားခြားနားသောချည်အတွက်တူညီသောဆံပင်ကောက်ကောက်လက်ကိုင်ကိုသုံးပါ။

  • ထပ်ခါတလဲလဲ shared လက်ကိုင်သို့မဟုတ်ကိုင်တွယ်ပြန်လုပ်ပါ။

  • Set Sharing အမျိုးအစားများ (ဥပမာ cookie, DNS) ကိုအောက်ခြေတွင်မထောက်ပံ့ပါ။

  • libcurl ဗားရှင်းသဟဇာတဖြစ်ပါတယ်။

သတ်သတ်မှတ်မှတ်အမှားများကိုရှာဖွေရန်ကျွန်ုပ်တို့သည် curl_error () နှင့် curl_errno () ကို သုံးရန်လိုအပ်သည်။

3 ?? curl_error () နှင့် curl_errno ၏ကျွမ်းကျင်မှုများကို debugging

ဤရွေ့ကားလုပ်ဆောင်ချက်နှစ်ခုသည်အမှားပြုတ်ခြင်းအမှားအယွင်းများဖြစ်သည်။

  • curl_error ($ ch) သည် အမှားအယွင်း (string form) သည်နောက်ဆုံးဆံပင်ကောက်ကောက်လုပ်ငန်း၏အမှားအယွင်း (string form) ကိုပြန်ပို့သည်။

  • Curl_errno ($ ch) သည် အမှားကုဒ် (ကိန်းဂဏန်းပုံစံ) ကိုနောက်ဆုံးဆံပင်ကောက်ကောက်ဖြင့်ပြန်လည်ရောက်ရှိစေသည်။

သူတို့ကိုများသောအားဖြင့်အတူတကွအသုံးပြုကြသည်။

 $ch = curl_init('https://m66.net/api/test');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec($ch);

if ($result === false) {
    echo 'cURL Error Code: ' . curl_errno($ch) . "\n";
    echo 'cURL Error Message: ' . curl_error($ch) . "\n";
} else {
    echo 'Request successful: ' . $result;
}

curl_close($ch);

shared လက်ကိုင်များအတွက်:

 $sh = curl_share_init();
if ($sh === false) {
    die("Failed to initialize curl share handle.\n");
}

$setopt_result = curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
if ($setopt_result === false) {
    echo "Failed to set share option.\n";
}

$ch = curl_init('https://m66.net/api/test');
curl_setopt($ch, CURLOPT_SHARE, $sh);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec($ch);

if ($result === false) {
    echo 'cURL Error Code: ' . curl_errno($ch) . "\n";
    echo 'cURL Error Message: ' . curl_error($ch) . "\n";
} else {
    echo 'Request successful: ' . $result;
}

curl_close($ch);
curl_share_close($sh);

4 ?? ဘုံအမှားကုဒ်များနှင့်ပြ esh နာဖြေရှင်းခြင်းစိတ်ကူးများ

အမှားကုဒ် ဘုံအကြောင်းပြချက်
1 curle_unsupported_protocol
သုံး curle_url_malformat
5 curle_coundnt_resolve_proxy
6 curle_coundnt_resolve_host
7 curle_coundnt_connect
နှစ်ဆယ့်သုံး curle_write_error
43 curle_bad_function_arg ဂိုးသမား
81 curle_share_in_use

Curle_share_in_use သည်လက်ရှိမျှဝေထားသောလက်ကိုင်ကိုအခြားလက်ကိုင်တစ်ခုကအသုံးပြုသည်။ ကုဒ်ယုတ္တိဗေဒကိုစစ်ဆေးရန်လိုအပ်သည်။

5 ?? လက်တွေ့စုံစမ်းစစ်ဆေးမှုအဆင့်များ

1 ?? Libcul ဗားရှင်းသည်သင် curl_version () ကို အသုံးပြု. လက်ရှိတွင်ထောက်ပံ့ထားသောအင်္ဂါရပ်များကိုစစ်ဆေးရန် curl_version () ကို သုံးနိုင်သည်ကိုအတည်ပြုပါ။

2 ?? ပြ the နာ၏အတိုင်းအတာကိုခွဲခြားရန်၎င်းကိုစမ်းသပ်ရန် curl လက်ကိုင်တစ်ခုတည်းကိုပထမ ဦး စွာအသုံးပြုပါ, ထို့နောက်မျှဝေခြင်းကြောင့်ဖြစ်ရတဲ့ပြ a နာတစ်ခုဖြစ်ကြောင်းအတည်ပြုရန် shared hands ကိုမိတ်ဆက်ပေးပါ။

3 ?? Curl_ERRORR () နှင့် curl_errno () ကို သုံးပါ။ အသေးစိတ်အမှားများကိုလက်ခံရရှိရန် curl_exec () ပြီးနောက်ချက်ချင်းစစ်ဆေးရမည်။

4 ?? curlopt_verbose မှတစ်ဆင့်အသေးစိတ်မှတ်တမ်းများကိုဖွင့်ပါ။

 curl_setopt($ch, CURLOPT_VERBOSE, true);

5 ?? ချည်မျှင်ဘေးကင်းလုံခြုံမှုကိုစစ်ဆေးပါ။ Libcurl သည်ချည်မျှင်မ 0 င်ပါကချည်မျှင်မျိုးစုံဖြင့်မတူပါ။