File System Operations များကိုကိုင်တွယ်ရန် PHP ကိုအသုံးပြုသောအခါခွင့်ပြုချက်နှင့်ပိုင်ဆိုင်မှုကိုထိန်းချုပ်ခြင်းသည် developer များမကြာခဏကြုံတွေ့ရသည့်အလုပ်များတစ်ခုဖြစ်သည်။ PHP သည် lchown () ပိုင်ရှင်အားပိုင်ရှင်အားပြုပြင်ရန်အသုံးပြုသော function တစ်ခု၏ပိုင်ရှင်သို့မဟုတ်လမ်းညွှန်၏ပိုင်ရှင်သတင်းအချက်အလက်များကိုကိုင်တွယ်ရန်လုပ်ဆောင်ချက်များကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည်အခြေခံ Syntax , အသုံးပြုမှုနည်းလမ်းများနှင့် ပတ်သတ်. မှတ်သားရန်အချို့သောအရာများကိုလျင်မြန်စွာလေ့လာပါမည်။
Lchown () သည် PHP တွင်သင်္ကေတ link file ၏ပိုင်ရှင်ကိုပြောင်းလဲလေ့ရှိသည်။ Chown () Lchown () နှင့်မတူသည်မှာပစ်မှတ်ထားဖိုင်နှင့်ချိတ်ဆက်ရန်သင်္ကေတကိုမလိုက်နာသော်လည်း link ကိုယ်နှိုက်ပေါ်တွင်တိုက်ရိုက်လုပ်ဆောင်သည်။
၎င်းသည်အချို့သောအခြေအနေများတွင်အလွန်အသုံးဝင်သည်, အထူးသဖြင့်သင်အမှန်တကယ်ဖိုင်များအစားအလိုအလျောက်ထုတ်လုပ်ထားသော link files များကဲ့သို့အမှန်တကယ်ဖိုင်များအစား link များအစား links များကိုလည်ပတ်လိုပါက။
bool lchown ( string $filename , string|int $user )
$ filename : ပိုင်ရှင်၏သင်္ကေတ link သို့လမ်းကြောင်း။
$ အသုံးပြုသူ - ပိုင်ရှင်အသစ်။ ၎င်းသည်အသုံးပြုသူအမည် string တစ်ခုသို့မဟုတ်အသုံးပြုသူ UID တစ်ခုဖြစ်နိုင်သည်။
ပြန်လာတန်ဖိုးကို Boolean:
အောင်မြင်စွာ ပြန်လည်ရောက်ရှိပါ။
မှားယွင်းသော ပြန်လာရန်မအောင်မြင်ပါ။
ကျွန်ုပ်တို့တွင်သင်္ကေတ link / var / www / link_tom / link_toms / link_config ရှိသည်ဆိုပါစို့ ။
<?php
$link = '/var/www/html/link_to_config';
$user = 'deploy';
if (lchown($link, $user)) {
echo "သင်္ကေတ link ပိုင်ရှင်က၎င်းကိုအောင်မြင်စွာပြင်ဆင်နိုင်ခဲ့သည်";
} else {
echo "ပြုပြင်မွမ်းမံမှုမအောင်မြင်ပါ,ခွင့်ပြုချက်သို့မဟုတ်လမ်းကြောင်းမှန်များမှန်ကန်မှုရှိမရှိစစ်ဆေးပါ";
}
?>
မှတ်ချက် - Lchown () သည် ဖိုင်ပိုင်ရှင်ကိုအောင်မြင်စွာပြောင်းလဲနိုင်ရန်အတွက် Superuser (root) ခွင့်ပြုချက်ဖြင့်ပြေးရန် script ကိုလိုအပ်နိုင်သည်။
System ကိုနေရာချထားသည့်အခါ link ကိုပိုင်ဆိုင်မှုကိုအလိုအလျောက်သတ်မှတ်ပါ ။ ဥပမာအားဖြင့်အလိုအလျောက်ဖြန့်ကျက်သော script တစ်ခုတွင်,
ခွင့်ပြုချက်စီမံခန့်ခွဲမှုပေါ်လစီ - သာမန်ဖိုင်များအကြားခွဲခြားရန်ချိတ်ဆက်ထားသောဖိုင်များအတွက်သီးသန့်ပိုင်ရှင်တစ် ဦး ကိုသတ်မှတ်ထားပါ။
Multi-user system : link ကိုခွင့်ပြုချက်ကိုဖိုင်စနစ်ဖွဲ့စည်းပုံမှာရှင်းရှင်းလင်းလင်းခွဲဝေချထားပေးပါ။
operating system compatibility : Lchown () သည် Unix ကဲ့သို့သောစနစ်များ (ဥပမာ Linux, MacoS) တွင်သာတရားဝင်သည်။ 0 င်းဒိုးကအဲဒါကိုမထောက်ပံ့ဘူး
ခွင့်ပြုချက်ကန့်သတ်ချက်များ - ဖိုင်ပိုင်ရှင်များကိုပြောင်းလဲခြင်းသည်များသောအားဖြင့်အုပ်ချုပ်ရေးဆိုင်ရာခွင့်ပြုချက်လိုအပ်သည်။
လုပ်ဆောင်ချက်အမူအကျင့်ဆိုင်ရာအကန့်အသတ် - functions များသည် target file ကိုသင်္ကေတလမ်းကြောင်းများနှင့်မလည်ပတ်သော်လည်း link ကိုယ်နှိုက်ပေါ်တွင်သာလုပ်ဆောင်သည်။
link ပိုင်ရှင်ကိုပြောင်းလဲခြင်းရှိမရှိစစ်ဆေးရန် command line tool ကိုသုံးနိုင်သည်။
ls -l /var/www/html | grep link_to_config
PHP scripts ကိုသုံးပါ။
<?php
echo fileowner('/var/www/html/link_to_config');
?>
အသုံးပြုသူအမည်ရရန်လိုအပ်ပါက၎င်းကို POSIX_GETPWWUID () နှင့်ပေါင်းစပ်။ အသုံးပြုနိုင်သည်။
<?php
$uid = fileowner('/var/www/html/link_to_config');
$userinfo = posix_getpwuid($uid);
echo $userinfo['name'];
?>
သင်ပြုပြင်ရန်လိုအပ်သည့်အရာသည် link ၏ link ကိုယ်နှိုက်ထက် link ကိုညွှန်ပြသည့်ပစ်မှတ်ထားသောဖိုင်ပိုင်ရှင်ဖြစ်သည် ။
chown('/var/www/html/link_to_config', 'deploy');
ဤခေါ်ဆိုမှုသည်အမှန်တကယ်ဖိုင်ပိုင်ရှင်အား link point မဟုတ်ဘဲ link point များကိုပြုပြင်မွမ်းမံလိမ့်မည်။