PHP application များကိုတီထွင်သောအခါ server ၏ system အချက်အလက်ကို debugging သို့မဟုတ် optimization အတွက်စနစ်တကျရယူရန်လိုအပ်သည်။ PHP သည်အလွန်အသုံးဝင်သော function php_uname () ကိုထောက်ပံ့ပေးသည်။ ၎င်းသည်စနစ်တကျလည်ပတ်ခြင်းစနစ်, ဗားရှင်းနံပါတ်စသည်တို့ကို 0 င်ရောက်နိုင်သည် ။
PHP_Uname () သည် built-in PHP function ဖြစ်သည်။ အဓိကအားဖြင့်ဆာဗာ operating system ၏အသေးစိတ်အချက်အလက်များကိုပြန်လည်ပေးပို့ရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်မှုမှတစ်ဆင့် PHP scripts လည်ပတ်နေသောဆာဗာပတ်ဝန်းကျင်ကိုအလွယ်တကူနားလည်နိုင်သည်။ ဤလုပ်ဆောင်ချက်သည် operating system အမည်, ဗားရှင်းနံပါတ်, ဟာ့ဒ်ဝဲဗိသုကာနှင့်အခြားသတင်းအချက်အလက်များပါ 0 င်သည့် string တစ်ခုရရှိစေသည်။
$system_info = php_uname();
echo $system_info;
အထက်ပါကုဒ်ကိုခေါ်ဆိုပြီးနောက်အောက်ပါတို့နှင့်ဆင်တူသည်။
Linux myserver 5.4.0-42-generic #46-Ubuntu SMP Thu Jul 9 14:58:19 UTC 2020 x86_64
၎င်းတွင် operating system type (Linux), Host Name (MyServer), kernel version (5.4.0-42-generic) ကဲ့သို့သောသတင်းအချက်အလက်များပါဝင်သည်။
php_uname () function သည်မတူညီသောသတင်းအချက်အလက်များကိုပြန်လည်ရောက်ရှိစေသည့် optional parameter ကိုလက်ခံရရှိနိုင်သည်။ အထူးသဖြင့်ဤ parameter သည်အောက်ပါတန်ဖိုးများဖြစ်နိုင်သည်။
A : operating system name, host name, kernel version, hardware aditecture စသည်ဖြင့်အသေးစိတ်အချက်အလက်များကိုပြန်ပို့သည်။ (ပုံမှန်တန်ဖိုး) ။
S : operating system ၏အမည်ကိုသာပြန်ပို့သည် (ဥပမာ - Linux, Windows, Darwin စသည်) ။
R : operating system ၏ဗားရှင်းနံပါတ်ကိုပြန်ပို့ပါ။
v : operating system ၏ဗားရှင်းအချက်အလက်ကိုပြန်ပို့သည်။
M : ဟာ့ဒ်ဝဲဗိသုကာအမျိုးအစားကိုပြန်ပို့သည် (ဥပမာ - x86_64, Arm64 စသဖြင့်) ။
echo php_uname('s'); // output operating system name
echo php_uname('r'); // output operating system ဗားရှင်း
echo php_uname('m'); // output ကို hardware ဗိသုကာအမျိုးအစား
PHP_Uname () မှရရှိသောစနစ်သတင်းအချက်အလက်များကိုမတူညီသော operating systems များအရအလိုက်ပြုပြင်နိုင်သည်။ ဥပမာအားဖြင့်, အကယ်. သင်သည်မတူညီသော operating system ကို Cross-plppp application တစ်ခုတွင်အသုံးပြုပါကကွဲပြားသောလမ်းကြောင်းခွဲခြမ်းစိတ်ဖြာခြင်းသို့မဟုတ်မတူညီသော system command များကိုလုပ်ဆောင်ရန်လိုအပ်နိုင်သည်။
$os = php_uname('s'); // operating system name ကိုရယူပါ
if (strpos($os, 'Windows') !== false) {
// ဖြစ်လာခဲ့လျှင်Windowsစံနစ်,Path Separator အဖြစ် backslashes ကိုသုံးပါ
$path_separator = '\\';
} else {
// ဒီလိုမှမဟုတ်ရင်ရှေ့သို့ slash ကိုသုံးပါ
$path_separator = '/';
}
echo "အဆိုပါလမ်းကြောင်း separator ဖြစ်ပါတယ်: " . $path_separator;
$os = php_uname('s'); // operating system name ကိုရယူပါ
if (strpos($os, 'Windows') !== false) {
// ဖြစ်လာခဲ့လျှင်Windowsစံနစ်,command line tool ကိုသုံးပါ
$command = 'dir';
} else {
// မဟုတ်ရင်အသုံးပြုပါUnix类စံနစ်的命令
$command = 'ls -l';
}
exec($command, $output);
echo implode("\n", $output); // output command ကွပ်မျက်ရလဒ်
PHP_Uname () သည်အလွန်အသုံးဝင်သော်လည်းအချို့သောကိစ္စရပ်များတွင်စနစ်သတင်းအချက်အလက်များကိုရယူခြင်းသည်ဆာဗာ၏အထိခိုက်မခံသောသတင်းအချက်အလက်များကိုအထူးသဖြင့်လည်ပတ်နေသောစနစ်ကျသောအချက်အလက်များကြောင့်ဤအချက်အလက်များကိုအသုံးပြုသူများအားဖြန့်ဝေခြင်းကိုရှောင်ရှားရန်အကောင်းဆုံးဖြစ်သည်။ အုပ်ချုပ်ရေးမှူးများကိုသာလက်လှမ်းမီနိုင်သောဖိုင်များကိုသာမှတ်တမ်းတင်ရန်သို့မဟုတ် script သို့သင့်လျော်သောခွင့်ပြုချက်စစ်ဆေးမှုများကိုမှတ်တမ်းတင်ရန်ရရှိသောစနစ်အချက်အလက်များကိုကန့်သတ်ရန်စဉ်းစားပါ။
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်စနစ်သတင်းအချက်အလက်ရရှိပြီးနောက်စနစ်ပတ် 0 န်းကျင်တွင်တိကျသော URL ကိုထုတ်လုပ်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်မတူညီသောလည်ပတ်မှုစနစ်များအရကွဲပြားသော server အရင်းအမြစ်များကိုဆက်သွယ်ပါ။