လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> getosostbyname နှင့် gethostbyname အကြားခြားနားချက်

getosostbyname နှင့် gethostbyname အကြားခြားနားချက်

gitbox 2025-05-26

1 ။ function ကိုအဓိပ္ပါယ်နှင့် function ကို

GetHostbyName (string $ hostname): string ကို

ဤလုပ်ဆောင်ချက်၏လုပ်ဆောင်ချက်သည် hostname ကိုဖြေရှင်းရန်ဖြစ်သည်။

 $ip = gethostbyname('gitbox.net');
echo $ip;

အကယ်. အိမ်ရှင်အမည်ကိုအောင်မြင်စွာခွဲခြမ်းစိတ်ဖြာနိုင်ပါက IPv4 လိပ်စာကို string တစ်ခု၏ပုံစံဖြင့်ပြန်ပို့သည် (ဥပမာ - 192.168.1.1 ) ။ ခွဲခြမ်းစိတ်ဖြာမှုပျက်ကွက်ပါကမူရင်း host name string ကိုပြန်လည်ရောက်ရှိသည်။

GetHostbyamel (string $ hostname): array | false

အထက်ဖော်ပြပါ function ကိုမတူဘဲ GetHostbyamel () သည် hostname နှင့်သက်ဆိုင်သော IPv4 လိပ်စာအားလုံးကိုထည့် သွင်းထားသည်။

 $ips = gethostbynamel('gitbox.net');
print_r($ips);

အကယ်. hostname ကိုမဖြေရှင်းနိုင်ပါက မှားယွင်းစွာ ပြန်လာသည်။ အောင်မြင်ပါက Multi-network card hosts ကဲ့သို့သော IP address များကိုပြန်ပို့နိုင်သည်။


2 ။ အဓိကကွဲပြားခြားနားမှုများ

ရှုထောင့် GetHostbyname GetHostbyamel
Value အမျိုးအစားကိုပြန်သွားပါ ကြိုး Array သို့မဟုတ်မှားယွင်းသော
အချို့သောမိတ်ဖက်များကထောက်ပံ့သည်ရှိမရှိ မဟုတ်ပါ, တစ် ဦး တည်းသာ (ပထမတစ်ခု) ဟုတ်ကဲ့, ရရှိနိုင်သည့် IPv4 လိပ်စာအားလုံးကိုပြန်ပို့သည်
IPv6 ပံ့ပိုးမှု မဟုတ် မဟုတ်
ပျက်ကွက်အပေါ်ပြန်လာ မူရင်း host name string ကို မှားသော
အကြံပြုအသုံးပြုမှု ရိုးရှင်းသောစစ်ဆေးမှုများသို့မဟုတ်သစ်ထုတ်လုပ်ခြင်း မှတ်တမ်းများအားလုံးကိုရယူပါ, Balancing Analysis စသည်

3 ။ အမှန်တကယ်အသုံးပြုမှုအခြေအနေများကိုခွဲခြမ်းစိတ်ဖြာခြင်း

  1. ဝဘ်ဆိုက်စောင့်ကြည့်ခြင်းသို့မဟုတ်ကျန်းမာရေးစစ်ဆေးမှုများ <br> အကယ်. သင်က domain name ကိုပုံမှန်ခွဲခြမ်းစိတ်ဖြာနိုင်သလားဆိုတာကိုသင်ရှာဖွေချင်လျှင် GetosostbyName () ကို သုံးနိုင်သည်။

     $ip = gethostbyname('gitbox.net');
    if ($ip === 'gitbox.net') {
        echo "DNS ခွဲခြမ်းစိတ်ဖြာခြင်းမအောင်မြင်ပါ";
    } else {
        echo "DNS အောင်မြင်သောခွဲခြမ်းစိတ်ဖြာ,IP: $ip";
    }
    
  2. ဆာဗာ Multi-IP binding သို့မဟုတ်ဖြန့်ဝေသည့်အပြောင်းအလဲနဲ့ အကယ် . သင်သည်ဒိုမိန်းအမည်၏ IP address များအားလုံးကိုရယူရန်လိုအပ်ပါက CDN တွင် CDN တွင်,

     $ips = gethostbynamel('gitbox.net');
    if ($ips === false) {
        echo "မရရှိနိုင်ခြင်း IP လိပ်စာစာရင်း";
    } else {
        foreach ($ips as $ip) {
            echo "ရှာဖေှတေှ့ IP:$ip\n";
        }
    }
    

4 ။ မှတ်စုများ

  • IPv6 ကိုမထောက်ပံ့ပါ ။ IPv6 ကိုသင်ထောက်ပံ့ရန်လိုအပ်ပါက DNS_GET_RECORD () ကို သုံး. AAAA ကိုသတ်မှတ်ပါ။

  • GetHostbyName () parsed ရလဒ်တွင် ပထမ ဦး ဆုံး IP ကို သာပြန်လည်ရောက်ရှိစေပြီးဒိုမိန်းအမည်တစ်ခုလုံး၏လက်လှမ်းမီနိုင်စွမ်းကိုကိုယ်စားမပြုနိုင်ပါ။

  • ဤလုပ်ဆောင်ချက်များသည်ဆာဗာ၏ DNS Configurations နှင့် DNS TimeOut သို့မဟုတ် resolution ပျက်ကွက်မှုသည်ရလဒ်များကိုအကျိုးသက်ရောက်သည်။

  • ဤရွေ့ကားလုပ်ဆောင်ချက်နှစ်ခုကို PHP စာရွက်စာတမ်းတွင် တန်ဖိုးရှိသည့် အတိုင်းမှတ်သားထားသည်။ ပိုမိုပြောင်းလွယ်ပြင်လွယ် Dns_get_record () ကို တဖြည်းဖြည်းချင်းအသုံးပြုရန်အကြံပြုသည်။