PHP တွင် Lchown function ကိုအသုံးပြုသော function ကို အသုံးပြု. ၎င်းသည်သင်္ကေတ link ကိုယ်နှိုက်ကိုပြောင်းလဲရန်အသုံးပြုသည်။ Linux နှင့် Unix ကဲ့သို့သောစနစ်များအတွက် Lchown သည်ဖိုင်ခွင့်ပြုချက်နှင့်ပိုင်ဆိုင်မှုများကိုစီမံခြင်းအတွက်အရေးကြီးသောကိရိယာတစ်ခုဖြစ်သည်။ သို့သော် developer များက Windows Systems တွင် Lchown ကို အသုံးပြုရန်ကြိုးစားသောအခါ၎င်းတို့သည်လိုက်ဖက်ခြင်းဆိုင်ရာပြ issues နာများကိုမကြာခဏကြုံတွေ့ရလေ့ရှိသည်။
ဤဆောင်းပါးသည် 0 င်းဒိုးစနစ်များရှိ Lchown function ကိုရရှိနိုင်မှုနှင့်လိုက်ဖက်သည့်ကိစ္စများကိုခွဲခြမ်းစိတ်ဖြာပါလိမ့်မည်။
PHP ၏ lchown function ကိုအောက်ပါအတိုင်းသတ်မှတ်ထားသည်။
<?php
bool lchown ( string $filename , mixed $user )
ဤလုပ်ဆောင်မှုသည်သင်္ကေတ link ဖိုင်ပိုင်ရှင် $ filename မှ $ အသုံးပြုသူ သို့ပြောင်းရန်ကြိုးစားသည်။ Chown မှကွဲပြားခြားနားသော, အဆုံးစွန်သောအနေဖြင့်ဖိုင်ပိုင်ရှင်နှင့်ချိတ်ဆက်မှုကိုပြောင်းလဲစေပြီး lchown link သူ့ဟာသူပိုင်ဆိုင်မှုကိုပြောင်းလဲစေခဲ့သည်။
Windows Systems တွင်သင်္ကေတအချိတ်အဆက်များကိုအကောင်အထည်ဖော်ခြင်းသည် UNIX / Linux နှင့်လုံးဝကွဲပြားခြားနားသည်။ Windows သည် NTFS ဖိုင်စနစ်၏ပြန်လည်ခွဲခြမ်းစိတ်ဖြာခြင်းကိုအသုံးပြုသည်။ ခွင့်ပြုချက်စီမံခန့်ခွဲမှုသည်မတူညီသောလုံခြုံရေးမော်ဒယ်များ (ACLS) အပေါ်အခြေခံသည်။
အဓိကအချက်များ
PHP Windows ဗားရှင်းတွင် Lchown function ကို မရနိုင်ပါ ။
Lchown သို့ခေါ်ဆိုရန်ကြိုးစားခြင်းသည် function မတည်ရှိသည့်အမှားတစ်ခုဖြစ်ပေါ်လိမ့်မည်။
0 င်းဒိုးကိုယ်နှိုက်သည်သင်္ကေတလိုင်းများအတွက်ခွင့်ပြုချက်ထိန်းချုပ်ရေးယန္တရားများရှိသည်။ UID နှင့် GID တို့အပေါ် အခြေခံ. ပိုင်ဆိုင်မှုသဘောတရားရှိသည်။
အဆိုပါ function ကိုမတည်ရှိပါဘူး
<?php
if (function_exists('lchown')) {
lchown('/path/to/symlink', 'user');
} else {
echo "lchown လက်ရှိစနစ်တွင်လုပ်ဆောင်ချက်များကိုမရရှိနိုင်ပါ";
}
Windows တွင်အထက်ဖော်ပြပါကုဒ်သည် Lchown မရရှိနိုင်ကြောင်းညွှန်ပြသည့်အချက်ကိုထုတ်ဖော်ပြောဆိုလိမ့်မည်။
ခွင့်ပြုချက်မော်ဒယ်ကွဲပြားခြားနားမှု
Unix ၏သုံးစွဲသူနှင့်အုပ်စုလိုက် IDS မဟုတ်ဘဲ Windows Permissions သည် ACLs (Access Control Lists) တွင်မှီခိုသည်။ Lchown သည် Uid Systems UID / GID အတွက်ဒီဇိုင်းပြုလုပ်ထားပြီး Windows အတွက်မသင့်တော်ပါ။
သင်္ကေတ links ၏ကွဲပြားခြားနားသောအကောင်အထည်ဖော်မှု
0 င်းဒိုးသင်္ကေတချိတ်ဆက်မှုအင်္ဂါရပ်ကို Windows Vista မှထောက်ပံ့သည်။ သို့သော်၎င်း၏အုပ်ချုပ်ရေးဆိုင်ရာခွင့်ပြုချက်များသည်အုပ်ချုပ်ရေးဆိုင်ရာခွင့်ပြုချက်သို့မဟုတ် PHP တွင် lchown နှင့်မသုံးသော developerer mode ကိုဖွင့်ရန်စီမံခန့်ခွဲသူများ၏ခွင့်ပြုချက်ကိုလိုအပ်သည်။
Lchown ကို အသုံးမပြုနိုင်သော်လည်း PHP သည် File Permissions များကို Windows အောက်တွင်အောက်ပါနည်းလမ်းများဖြင့်စီမံနိုင်သည်။
CHMOD တွင်လည်းကန့်သတ်ချက်ရှိသော်လည်းအခြေခံခွင့်ပြုချက် -bits များကိုပြုပြင်နိုင်ဆဲဖြစ်သည်။
<?php
chmod('file.txt', 0644);
သို့သော် Windows သည် chmod ကိုထောက်ခံမှုအကန့်အသတ်ဖြင့်သာထောက်ခံမှုရှိပြီးဖတ်ရန်,
0 င်းဒိုး၏ကိုယ်ပိုင် command line tools များကိုခေါ်ဆိုခြင်းဖြင့်ခွင့်ပြုချက်ကိုချိန်ညှိနိုင်သည်။
<?php
exec('icacls file.txt /grant UserName:F');
တစ်ခါတစ်ရံတွင် Windows Permissions များကိုပိုမိုကောင်းမွန်သော granular control အောင်မြင်ရန် PHP extension များသို့မဟုတ် scripts များကိုအသုံးပြုနိုင်သည်။
Lchown သည် PHP တွင် function တစ်ခုဖြစ်ပြီး unix / linux system များတွင်သာတရားဝင်သည်။
Windows စနစ်သည် lchown ကို မထောက်ပံ့ပါ။
Windows File Permissions မော်ဒယ်သည်ကွဲပြားခြားနားပြီးပိုင်ဆိုင်မှုကို UNIX တွင် ပြောင်းလဲ. မရပါ။
Windows တွင် chmod , ICCLS နှင့်အခြား command များကိုအစား chmod, icacls နှင့်အခြား command များကိုသုံးနိုင်သည်။ သို့မဟုတ်ခွင့်ပြုချက်ကိုစီမံရန် script များနှင့် extensions များကိုသုံးနိုင်သည်။
<?php
$symlink = 'path/to/symlink';
if (function_exists('lchown')) {
// သင်္ကေတ link ပိုင်ရှင်ကိုပြုပြင်ရန်ကြိုးစားပါ
if (@lchown($symlink, 'username')) {
echo "သင်္ကေတ link ပိုင်ရှင်က၎င်းကိုအောင်မြင်စွာပြင်ဆင်နိုင်ခဲ့သည်";
} else {
echo "သင်္ကေတ link ပိုင်ရှင်မအောင်မြင်ပါ";
}
} else {
echo "လက်ရှိစနစ်က၎င်းကိုမထောက်ပံ့ပါ lchown,ဒီစစ်ဆင်ရေးကိုကျော်လိုက်ပါ";
}
ဒီကုဒ်က Lchown ဟာ Wlewown ကိုရရှိနိုင်မလားပြသသည်။
PHP file ခွင့်ပြုချက်နှင့်သက်ဆိုင်သောလုပ်ဆောင်ချက်များနှင့် Cross-platform နှင့်လိုက်လျောညီထွေဖြစ်မှုကိုသင်ပိုမိုနက်ရှိုင်းစွာနားလည်ရန်လိုပါကတရားဝင် PHP မှတ်တမ်းနှင့်ဆက်စပ်သောလူထုသတင်းအချက်အလက်များကိုသင်ရည်ညွှန်းနိုင်သည်။
// နမူနာ link ကိုသွားပါ,Domain Name ကိုအစားထိုးသည်ကိုသတိပြုပါ gitbox.net
$url = "https://gitbox.net/manual/en/function.lchown.php";
echo "အသေးစိတ်စာရွက်စာတမ်းလိပ်စာ: " . $url;