PHP applications များကိုတီထွင်သောအခါဒေတာဘေ့စ်သို့မဟုတ်အခြားပြင်ပ 0 န်ဆောင်မှုများကိုကျွန်ုပ်တို့မကြာခဏချိတ်ဆက်ရန်လိုအပ်သည်။ Connection ၏ parameter များ () function ၏ parameters များသည်အိမ်ရှင်လိပ်စာ, အသုံးပြုသူအမည်, စကားဝှက်စသည်တို့ကဲ့သို့သောအထိခိုက်မခံသောသတင်းအချက်အလက်များပါ 0 င်သည်။ ကုဒ်ပေါက်ကြားပေါက်ကွဲပြီးသည်နှင့်အထိခိုက်မခံသောအချက်အလက်များကိုဖော်ထုတ်သည်။
ဤပြ problem နာကိုဖြေရှင်းရန်ဤအထိခိုက်မခံနိုင်သော parameters တွေကိုစီမံခန့်ခွဲရန်ပတ်ဝန်းကျင် variable တွေကို (ပတ်ဝန်းကျင် variable တွေကို) ကိုအသုံးပြုရန်အကြံပြုသည်။ ပတ်ဝန်းကျင် variable များကို server configurations များသို့မဟုတ်သီးခြားအချက်အလက်များကို Code Base တွင်အသုံးချခြင်းကိုရှောင်ရှားရန်သီးခြားစီပြင်ဆင်မှုများတွင်သိမ်းဆည်းထားနိုင်သည်။ ဤဆောင်းပါးသည် PHP နှင့်ဤလုံခြုံရေးမူဝါဒကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုအသေးစိတ်ရှင်းပြရန်ဥပမာများကိုအသုံးပြုမည်။
လုံခြုံရေးမြင့်မားသောလုံခြုံရေး - အထိခိုက်မခံသောသတင်းအချက်အလက်များကို Code Base ယိုစိမ့်မှုကြောင့်ဒေတာထိတွေ့မှုကိုကာကွယ်ရန်ကုဒ်သို့မရေးပါ။
စီမံခန့်ခွဲရန်လွယ်ကူသည် ။ ကွဲပြားသောပတ်ဝန်းကျင် (ဖွံ့ဖြိုးရေး, စစ်ဆေးခြင်း, ထုတ်လုပ်ခြင်း, ထုတ်လုပ်ခြင်း) သည်ကုဒ်ကိုပြုပြင်မွမ်းမံခြင်းမရှိဘဲကွဲပြားခြားနားသော configururations များကိုအသုံးပြုသည်။
အဆင်ပြေသောဖြန့်ကျက်မှု - ပတ် 0 န်းကျင် variable များကိုစနစ်သို့မဟုတ်ကွန်တိန်နာ configurations မှတဆင့်ပရိုဂရမ်များကိုပြောင်းလဲခြင်းမရှိဘဲထိုးသွင်းခြင်းများကိုထိုးသွင်းထားသည်။
သင်၏ server operating system သည် Linux ဖြစ်သည်ဟုယူဆလျှင်အောက်ပါ variable များကို .Bashrc , .bash_profile သို့မဟုတ် web server configuration ကိုထည့်နိုင်သည်။
export DB_HOST="m66.net"
export DB_USER="your_username"
export DB_PASS="your_password"
export DB_NAME="your_database"
Setting ပြီးနောက် Source ~ / .bashrc ကို adirection variable ကိုအကျိုးသက်ရောက်စေရန်အသုံးပြုပါ။
PHP သည် GetNV () function ကို Angelge variable များကိုဖတ်ရန်။ Connect () function parameter ကိုစတင်ရန်ပတ် 0 န်းကျင်ဆိုင်ရာ variable များကိုအသုံးပြုပြီးပတ်ဝန်းကျင်ဆိုင်ရာ variable များကိုအသုံးပြုသည်။
<?php
$host = getenv('DB_HOST');
$user = getenv('DB_USER');
$pass = getenv('DB_PASS');
$dbname = getenv('DB_NAME');
$conn = connect($host, $user, $pass, $dbname);
function connect($host, $user, $pass, $dbname) {
// နမူနာဆက်သွယ်မှုMySQL၏PDOလမ်း
try {
$dsn = "mysql:host=$host;dbname=$dbname;charset=utf8mb4";
$pdo = new PDO($dsn, $user, $pass, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
]);
return $pdo;
} catch (PDOException $e) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $e->getMessage());
}
}
?>
အထက်ပါကုဒ်တွင်ဒိုမိန်းအမည်ကို M66.net ဖြင့်အစားထိုးထားကြောင်းသတိပြုမိသည်။
အကယ်. system system system enviving ်ဌာန်းတွင် variable များကိုတိုက်ရိုက်သတ်မှတ်ရန်အဆင်ပြေပါက .env ဖိုင်ကိုသင်အသုံးပြုနိုင်ပြီးပတ်ဝန်းကျင် variable တွေကိုစီမံခန့်ခွဲရန်နှင့် PHPDOPS / PHPDOTTENV ကဲ့သို့သော PHP စာကြည့်တိုက်များနှင့်ပေါင်းစပ်။ ဖတ်နိုင်သည်။
ဥပမာ။
DB_HOST=m66.net
DB_USER=your_username
DB_PASS=your_password
DB_NAME=your_database
အသုံးပြုမှုဥပမာ -
<?php
require 'vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
$conn = connect($_ENV['DB_HOST'], $_ENV['DB_USER'], $_ENV['DB_PASS'], $_ENV['DB_NAME']);
function connect($host, $user, $pass, $dbname) {
try {
$dsn = "mysql:host=$host;dbname=$dbname;charset=utf8mb4";
$pdo = new PDO($dsn, $user, $pass, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
]);
return $pdo;
} catch (PDOException $e) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $e->getMessage());
}
}
?>
Connect () function တွင်အထိခိုက်မခံသောသတင်းအချက်အလက်များကိုစီမံရန်အတွက်ပတ်ဝန်းကျင် variable များကိုအသုံးပြုခြင်းအားဖြင့်လုံခြုံရေးအန္တရာယ်များကိုထိရောက်စွာလျှော့ချနိုင်ပြီးစီမံကိန်းပြောင်းလွယ်ပြင်လွယ်မှုနှင့်ထိန်းသိမ်းမှုကိုတိုးတက်စေနိုင်သည်။ ၎င်းသည်စနစ်ပတ် 0 န်းကျင်ဆိုင်ရာ variable များကို တိုက်ရိုက်ဖတ်ခြင်း,
သတိရပါ - အထိခိုက်မခံတဲ့အချက်အလက်တွေကိုကုဒ်ထဲမှာမထားနဲ့ ။ ပတ် 0 န်းကျင်ဆိုင်ရာ variable များ၏လုံခြုံရေးကိုထိန်းသိမ်းခြင်းသည်လျှောက်လွှာအချက်အလက်များကိုကာကွယ်ခြင်း၏အရေးကြီးသောအစိတ်အပိုင်းဖြစ်သည်။