PHP ပရိုဂရမ်တွင် Connect () function ကိုများသောအားဖြင့်ဒေတာဘေ့စ်သို့မဟုတ်ဝေးလံခေါင်သီသော 0 န်ဆောင်မှုတစ်ခုသို့ဆက်သွယ်မှုများကိုတည်ဆောက်ရန်အသုံးပြုသည်။ Connect () သည် မှားယွင်းသော အခါ, ၎င်းသည်မှားယွင်းသောဆက်သွယ်မှုမအောင်မြင်ဟုဆိုလိုသည်, ၎င်းသည်အစီအစဉ်ကိုကောင်းမွန်စွာအလုပ်လုပ်ရန်ဖြစ်ပေါ်စေလိမ့်မည်။ ဤဆောင်းပါးသည် ဆက်သွယ်မှု () သည် မှားယွင်းသောအ ဘယ်ကြောင့် () ကိုပြန်ပို့ခြင်းနှင့်သက်ဆိုင်ရာပြ troubl နာဖြေရှင်းခြင်းနှင့်ဖြေရှင်းနည်းများပေးသည့်အသေးစိတ်အချက်အလက်များကိုဤဆောင်းပါးတွင်ဖော်ပြပါမည်။
ဆက်သွယ်မှု၏ ဦး တည်ရာလိပ်စာ (IP သို့မဟုတ် domain name name norn) သို့မဟုတ် port သည်မမှန်ကန်ကြောင်းဖြည့်ထားသည်။
$host = "m66.net"; // ကျေးဇူးပြုပြီးဒိုမိန်းအမည်ကိုဤနေရာတွင်မှန်ကန်ကြောင်းသေချာပါစေ
$port = 3306; // ဥပမာအားဖြင့်MySQLပုံသေဆိပ်ကမ်း
$conn = @fsockopen($host, $port, $errno, $errstr, 5);
if (!$conn) {
echo "ဆက်သွယ်မှုမအောင်မြင်ပါ,အမှားသတင်းစကား:$errstr ($errno)";
}
ကွန်ယက်သည်ဆာဗာများအကြားချိတ်ဆက်ထားခြင်းမဟုတ်ပါ,
ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်သောအခါအသုံးပြုသူအမည်သို့မဟုတ်စကားဝှက်အမှားတစ်ခုသည်ဆက်သွယ်မှုကိုကျရှုံးစေနိုင်သည်။ တင်းကြပ်စွာပြောဆိုခြင်း, ဆက်သွယ်ခြင်း () သည် အောင်မြင်နိုင်သည်။
ပစ်မှတ် 0 န်ဆောင်မှု (ဥပမာဒေတာဘေ့စ်, API ဆာဗာအဖြစ်) ကိုမစတင်ပါသို့မဟုတ်ပုံမှန်မဟုတ်သောကြောင့်ဆက်သွယ်မှုကိုလက်မခံနိုင်ပါ။
သက်ဆိုင်ရာ PHP Extension သို့မဟုတ် configuration အမှားပျောက်ဆုံးခြင်းသည်ဆက်သွယ်မှု function ကိုပြန်လာရန်လည်းဖြစ်ပေါ်စေလိမ့်မည်။
ဆက်သွယ်မှုသည်အဆီးအတားမရှိစစ်ဆေးရန် command line tool ကိုသုံးပါ။
ping m66.net
telnet m66.net 3306
Domain Name resolution သည်ပုံမှန်ဖြစ်ပြီး port ကိုဖွင့်သည်ကိုအတည်ပြုပါ။
local and server firewall rules assess သည် Target Port ကိုခွင့်ပြုရန်ခွင့်ပြုသည်ကိုအတည်ပြုပါ။
တိကျသောအမှားအချက်အလက်များကိုကြည့်ရှုရန် PHP Error Display ကိုဖွင့ ်. အကြောင်းရင်းကိုရှာဖွေရန်ကူညီပါ။
ini_set('display_errors', 1);
error_reporting(E_ALL);
MySQL ကဲ့သို့သောရည်မှန်းချက်ပန်းတိုင်သည်စစ်ဆင်ရေးတွင်ဖြစ်သည်ဟုအတည်ပြုပါ။
systemctl status mysql
MySQLI, PDO_MYSQL စသည့်ဆက်သွယ်မှုလုပ်ဆောင်ချက်များအတွက်အသုံးပြုသောလိုအပ်သော extension များကို install လုပ်ထားကြောင်းသေချာစေပါ။
ကျွန်ုပ်တို့သည် PHP ၏ MySQLI ကို ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန်အသုံးပြုသည်ဆိုပါစို့။
$host = "m66.net";
$user = "dbuser";
$password = "dbpassword";
$dbname = "testdb";
$conn = new mysqli($host, $user, $password, $dbname);
if ($conn->connect_errno) {
echo "ဆက်သွယ်မှုမအောင်မြင်ပါ,အမှားကုဒ်: " . $conn->connect_errno . ",အမှားသတင်းစကား: " . $conn->connect_error;
exit();
}
echo "အောင်မြင်စွာဆက်သွယ်မှု!";
$conn->close();
M66.net နှင့် domain name ကိုအစားထိုးပါ
ဆက်သွယ်မှုပျက်ကွက်သည့်အခါ output အသေးစိတ်အမှားမက်ဆေ့ခ်ျ
ပိုပြီးအလိုလိုသိရန်အရာဝတ်ထု -oriented connections ကိုသုံးပါ