လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Connect () ဆက်သွယ်မှုပျက်ကွက်မှုအတွက်အကြောင်းပြချက် 10 ခုနှင့်ဖြေရှင်းနည်းများ

Connect () ဆက်သွယ်မှုပျက်ကွက်မှုအတွက်အကြောင်းပြချက် 10 ခုနှင့်ဖြေရှင်းနည်းများ

M66 2025-05-31

PHP တွင် MySQLI ၏ ဆက်သွယ်မှု () function (သို့မဟုတ် mySqli_connect) ၏ function (သို့မဟုတ် STSQLI_Connect ) တွင်ဒေတာဘေ့စ်ဆက်သွယ်မှုများကိုအကောင်အထည်ဖော်ရာတွင်အဓိကခြေလှမ်းဖြစ်သည်။ Connection ပျက်ကွက်ခြင်းသည်ဖွံ့ဖြိုးရေးတွင်ဘုံပြ problem နာဖြစ်သည်, အထူးသဖြင့်အစပြုသူများအတွက်ပြ esh နာဖြေရှင်းခြင်းပြ problems နာများကိုဖြေရှင်းနိုင်သည်။ ဤဆောင်းပါးသည် connection ပျက်ကွက်မှု၏အဓိကအကြောင်းရင်းဆယ်ခုကိုပိုမိုသိရှိပြီးပြ problems နာများကိုပိုမိုမြန်ဆန်စွာရှာဖွေရန်ကူညီရန်သက်ဆိုင်ရာဖြေရှင်းနည်းများကိုအသေးစိတ်လေ့လာလိမ့်မည်။


1 ။ ဒေတာဘေ့စ်ဆာဗာလိပ်စာမမှန်ကန်ပါ

အကြောင်းပြချက် - Connect () function ကို () function ကို () function ကို) function တွင် function တွင် function ကိုမှားယွင်းစွာဖြည့်ထားသည်။

ဖြေရှင်းချက် -
ဒေတာဘေ့စ်ဆာဗာလိပ်စာမှန်ကန်မှုရှိမရှိအတည်ပြုပါ။ ဥပမာအားဖြင့်, ရေးရန်မှန်ကန်သောနည်းလမ်းမှာဆင်တူသင့်သည်။

 $conn = mysqli_connect('m66.net', 'username', 'password', 'database');

အကယ်. ဒေတာဗေ့စ်သည်ဒေသခံစက်ပေါ်တွင်ရှိခဲ့လျှင် '127.0.0.1.1' သို့မဟုတ် 'localhost' ကို အသုံးပြုရန်အကြံပြုသည်။


2 ။ အသုံးပြုသူအမည်သို့မဟုတ်စကားဝှက်သည်မမှန်ကန်ပါ

အကြောင်းရင်း - ဒေတာဘေ့စ်အကောင့်တစ်ခုသို့မဟုတ်စကားဝှက်သည်မှားယွင်းစွာဖြည့်စွက်ပြီး,

ဖြေရှင်းချက် -

 $conn = mysqli_connect('m66.net', 'အသုံးပြုသူအမည်မှန်ကန်သော', 'စကားဝှက်မှန်', 'ဒေတာဘေ့စ်အမည်');
if (!$conn) {
    die('ဆက်သွယ်မှုမအောင်မြင်ပါ,အမှားသတင်းစကား:' . mysqli_connect_error());
}

အသုံးပြုသူအမည်နှင့်စကားဝှက်သည်မှန်ကန်ပြီးလက်လှမ်းမီမှုအခွင့်အရေးများရှိကြောင်းသေချာစေပါ။


3 ။ ဒေတာဘေ့စ်ဝန်ဆောင်မှုကိုမစတင်ပါ

အကြောင်းရင်း - MySQL သို့မဟုတ်အခြားဒေတာဘေ့စ် 0 န်ဆောင်မှုသည်မပြေးနိုင်ပါ။

ဖြေရှင်းချက် -
ဒေတာဘေ့စ်ဝန်ဆောင်မှုစတင်ခဲ့ကြောင်းအတည်ပြုပါ။ command line မှတဆင့်ကွပ်မျက်နိုင်ပါတယ်:

 sudo service mysql status

သို့မဟုတ် 0 န်ဆောင်မှုကိုစတင်ရန် System ၏ 0 န်ဆောင်မှုစီမံခန့်ခွဲမှုကိရိယာကိုသုံးပါ။


4 ။ Firewall သို့မဟုတ်လုံခြုံရေးအုပ်စု၏ကန့်သတ်ဆိပ်ကမ်းများ

အကြောင်းမရှိ: Firewall သည်ဒေတာဘေ့စ်ဆိပ်ကမ်းသို့ပိတ်ထားသည် (ပုံမှန် 3306) ။

ဖြေရှင်းချက် -
Port 3306 (သို့မဟုတ်ထုံးစံ port) ကိုဖွင့်ရန်သေချာစေရန်ဆာဗာ firewall settings ကိုစစ်ဆေးပါ။ အများအားဖြင့်အသုံးပြုသော command များ:

 sudo ufw allow 3306

Cloud ဆာဗာများသည်လုံခြုံရေးအုပ်စုစည်းမျဉ်းများကိုလည်းပြုပြင်ရန်လိုအပ်သည်။


5 ။ Port နံပါတ်ကိုအသုံးပြုခဲ့သည်

အကြောင်းရင်း - ချိတ်ဆက်မှုတွင် port နံပါတ်မှားသည်။

ဖြေရှင်းချက် -
Default Port သည် 3306 ဖြစ်သည်။ ဒေတာဘေ့စ်သည်ထုံးစံ port ကိုအသုံးပြုပါကရှင်းရှင်းလင်းလင်းဖော်ပြရန်လိုအပ်သည်။

 $conn = mysqli_connect('m66.net', 'username', 'password', 'database', 3307);

6 ။ အသုံးပြုသူခွင့်ပြုချက်ကန့်သတ်ချက်များဒေတာဘေ့စ်

အကြောင်းမှာ - အသုံးပြုသူသည်ဒေတာဘေ့စ်ကိုလက်ရှိအိမ်ရှင်မှဝင်ရောက်ရန်အခွင့်အာဏာမရှိပါ။

ဖြေရှင်းချက် -
ဒေတာဗေ့စ်သို့ ဝင်ရောက်. ခွင့်ပြုချက်အမိန့်ကို execute လုပ်ပါ။

 GRANT ALL PRIVILEGES ON database.* TO 'username'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

ဤတွင် '%' ဆိုသည်မှာမည်သည့် host ကိုမဆိုဝင်ရောက်ခွင့်ပြုသည်။


7 ။ ခေတ်မမီတော့သောသို့မဟုတ်သဟဇာတ php တိုးချဲ့မှုကိုအသုံးပြုခဲ့သည်

အကြောင်းရင်း - MySQLI သို့မဟုတ် PDO သက်တမ်းတိုးခြင်းကို PHP ပတ်ဝန်းကျင်တွင်တပ်ဆင်ထားခြင်းမရှိပါ။ သို့မဟုတ်မူကွဲသည်မကိုက်ညီပါ။

ဖြေရှင်းချက် -
PHP ပတ် 0 န်းကျင်သည်သက်ဆိုင်ရာ extension များကိုမှန်ကန်စွာတပ်ဆင်ခြင်းရှိမရှိစစ်ဆေးပါ။

 php -m | grep mysqli

ထည့်သွင်းခြင်းမရှိသေးပါကသင်ထည့်သွင်းရန် Package Manager ကိုအသုံးပြုရန်လိုအပ်သည်။

 sudo apt-get install php-mysqli

8 ။ ကွန်ရက်ပြ problem နာသည်ဆက်သွယ်မှုအချိန်ကုန်များကိုဖြစ်ပေါ်စေသည်

အကြောင်းရင်း - ကွန်ယက်နှောင့်နှေးခြင်းသို့မဟုတ်မတည်ငြိမ်မှု, ဆက်သွယ်မှုတောင်းဆိုမှုသည်အချိန်ကုန်သက်သာစေသည်။

ဖြေရှင်းချက် -
ဒေတာဘေ့စ်ဆာဗာကို pinging လုပ်ပြီးကွန်ယက်သည်ချောမွေ့ကြောင်းအတည်ပြုပါ။

 ping m66.net

ကွန်ယက်ပတ် 0 န်းကျင်ကိုပိုမိုကောင်းမွန်စေပါသို့မဟုတ်လိုအပ်ပါက connection timeout ချိန်ညှိချက်များကိုထည့်ပါ။


9 ။ DNS resolution ပြ issues နာများ

အကြောင်းရင်း - ဒိုမိန်းအမည်ကိုမှန်ကန်စွာ ဖြေရှင်း. မရပါ,

ဖြေရှင်းချက် -
IP လိပ်စာနှင့်ချိတ်ဆက်ပါသို့မဟုတ်ဇာတိ DNS Configuration ကိုစစ်ဆေးပါ။

 $conn = mysqli_connect('192.168.1.100', 'username', 'password', 'database');

10 ။ ဒေတာဘေ့စ်ဗားရှင်းသို့မဟုတ် configuration ကန့်သတ်

အကြောင်းမှာ: ဆာဗာ၏ဒေတာဘေ့စ်ဗားရှင်းသည် connection methods အချို့သို့မဟုတ် My.CNF ကဲ့သို့သော configuration files များကိုကန့်သတ်ထားသည်။

ဖြေရှင်းချက် -
ဒေတာဘေ့စ် configuration ဖိုင်ကိုစစ်ဆေးပြီး Binding လိပ်စာကိုအတည်ပြုပါ။

 bind-address = 0.0.0.0

IP ဆက်သွယ်မှုအားလုံးကိုဒေတာဘေ့စ် 0 န်ဆောင်မှုကိုပြန်လည်စတင်ပြီးနောက်ခွင့်ပြုပြီးထိရောက်စွာထိရောက်စွာခွင့်ပြုသည်။