FTP_Site function ၏ပထမ ဦး ဆုံး pareter သည် FTP server ၏ fatch server ၏လိုအပ်ချက်များကိုလိုက်နာရမည်ဖြစ်သော site command ကိုဖြစ်သည်။ FTP ဆာဗာများသည်များသောအားဖြင့်မတူညီသောလည်ပတ်မှုစနစ်များအရကွဲပြားသော site command options များကိုပေးသည်။ ဥပမာအားဖြင့်, UNIX စနစ်များတွင် SOMMOD သို့မဟုတ် site site list ကဲ့သို့သော command များရှိနိုင်သည်။ မတူညီသော FTP ဆာဗာများသည် command syntax သို့မဟုတ် parameter လိုအပ်ချက်များရှိနိုင်သည်။
<span><span><span class="hljs-variable">$ftp_conn</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ftp_connect</span></span><span>(</span><span><span class="hljs-string">"ftp.example.com"</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">ftp_login</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>, </span><span><span class="hljs-string">"username"</span></span><span>, </span><span><span class="hljs-string">"password"</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">ftp_site</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>, </span><span><span class="hljs-string">"CHMOD 777 somefile.txt"</span></span><span>); </span><span><span class="hljs-comment">// မှန်ကန်သော command ကို</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ftp_site</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>, </span><span><span class="hljs-string">"CHMOD777 somefile.txt"</span></span><span>); </span><span><span class="hljs-comment">// အမှား,မမှန်ကန်သော command format</span></span><span>
</span></span>
ဒုတိယဥပမာတွင် command chmod777 သည် format ဖြင့်မမှန်ကန်ပါ။ FTP server ကိုနားမလည်နိုင်အောင်ကွပ်မျက်မှုမအောင်မြင်ပါ။
FTP server မှထောက်ပံ့သော site command များသည်များသောအားဖြင့်ဆာဗာ၏ configuration နှင့် operating system ပေါ်တွင်မူတည်သည်။ အချို့သော FTP ဆာဗာများသည်တိကျသော command များကိုမထောက်ပံ့နိုင်ပါ။ သို့မဟုတ်အချို့သောရွေးချယ်စရာများကိုလက်ရှိဖွဲ့စည်းပုံအခြေခံဥပဒေအရလက်ခံခြင်းမရှိပါ။ အကယ်. သင်သည်မထောက်ပံ့သော command များသို့မဟုတ် parameters များကိုအသုံးပြုရန်ကြိုးစားပါက FTP_SITE function သည် မှားသည် ။
<span><span><span class="hljs-title function_ invoke__">ftp_site</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>, </span><span><span class="hljs-string">"SITE SETMODE 755"</span></span><span>); </span><span><span class="hljs-comment">// ဒီ command ကိုမဟုတ်ပါဘူးဟုယူဆ FTP ဆာဗာအထောက်အပံ့</span></span><span>
</span></span>
အထက်ပါဥပမာတွင် site setmode သည် ဆာဗာမှမထောက်ပံ့သော command တစ်ခုဖြစ်နိုင်သည်။ ကွဲပြားခြားနားသော FTP ဆာဗာများသည်ကွဲပြားခြားနားစွာအကောင်အထည်ဖော်ရန်အတွက်မထောက်ပံ့သော command ကိုပေးပို့ရန်ကြိုးစားခြင်းကြောင့်ကွပ်မျက်မှုပျက်ကွက်မှုဖြစ်ပေါ်လိမ့်မည်။
FTP_Site ၏ဒုတိယ pareter သည်သတ်သတ်မှတ်မှတ် command များနှင့်စစ်ဆင်ရေးများဖြစ်သည်။ command parameter တွေကိုမပြည့်စုံသေးဘူး, ပျောက်ဆုံးနေတဲ့အခါမှာ FTP server က command ကိုနားမလည်ဘူး, ဥပမာ Chmod command သည်ခွင့်ပြုချက်တန်ဖိုးနှင့်ဖိုင်လမ်းကြောင်းတစ်ခုလိုအပ်သည်။ ဒီတစ်ခုပျောက်ဆုံးနေမယ်ဆိုရင်ကွပ်မျက်မှုကျရှုံးလိမ့်မယ်။
<span><span><span class="hljs-title function_ invoke__">ftp_site</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>, </span><span><span class="hljs-string">"SITE CHMOD"</span></span><span>); </span><span><span class="hljs-comment">// ခွင့်ပြုချက်တန်ဖိုးများနှင့်ဖိုင်လမ်းကြောင်းများပျောက်နေ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ftp_site</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>, </span><span><span class="hljs-string">"SITE CHMOD 777"</span></span><span>); </span><span><span class="hljs-comment">// ပျောက်ဆုံးနေသောဖိုင်လမ်းကြောင်းပျောက်ဆုံးနေသည်</span></span><span>
</span></span>
အထက်ဖော်ပြပါအခြေအနေများသည်အဓိက command parameters များ မရှိခြင်း,
တစ်ခါတစ်ရံတွင် Parameter Value Function အမျိုးအစားသည်မမှန်ကန်ပါ (ဥပမာ, string အစားနံပါတ်တစ်ခုကိုဖြတ်သန်းခြင်း) သည်ကွပ်မျက်မှုပျက်ပြားစေနိုင်သည်။ FTP_Site အတွက် parameter အတွက်လိုအပ်ချက်မှာ string တစ်ခုဖြစ်သော်လည်းတရားမ 0 င်ဇာတ်ကောင်များသို့မဟုတ်လိုက်လျောညီထွေဖြစ်နေသောပုံစံများသည် FTP server ကို command ကိုအသိအမှတ်မပြုရန်ဖြစ်နိုင်သည်။
<span><span><span class="hljs-title function_ invoke__">ftp_site</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>, </span><span><span class="hljs-string">"SITE CHMOD 755 12345"</span></span><span>); </span><span><span class="hljs-comment">// ယူဆချက် 12345 မမှန်ကန်သောဖိုင်လမ်းကြောင်း</span></span><span>
</span></span>
ဤဥပမာတွင် 12345 သည် ခိုင်လုံသောဖိုင်လမ်းကြောင်းသို့မဟုတ်ဖိုင်အမည်မဖြစ်နိုင်ပါ, ၎င်းသည် command ကိုစနစ်တကျလုပ်ဆောင်ရန်ပျက်ကွက်လိမ့်မည်။
တစ်ခါတစ်ရံ, FTP_Site function ပျက်ကွက်ခြင်းသည်မအောင်မြင်ရသည့်အကြောင်းရင်းမှာ command ကိုယ်နှိုက်သည်မမှန်မကန်ဖြစ်နေသောကြောင့်ဖြစ်သည်။ ဥပမာအားဖြင့်ဖိုင်ခွင့်ပြုချက်ကိုပြုပြင်မွမ်းမံခြင်းသို့မဟုတ်လမ်းညွှန်ချိန်ညှိချက်များကိုပြောင်းလဲခြင်းပြုလုပ်သောအခါပိုမိုမြင့်မားသောခွင့်ပြုချက်လိုအပ်သည်။ လက်ရှိ FTP အသုံးပြုသူသည်လုံလောက်သောခွင့်ပြုချက်မရှိပါကဆာဗာသည်သက်ဆိုင်ရာ command ကို execute မှငြင်းဆန်လိမ့်မည်။
<span><span><span class="hljs-title function_ invoke__">ftp_site</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>, </span><span><span class="hljs-string">"SITE CHMOD 777 sensitive_file.txt"</span></span><span>); </span><span><span class="hljs-comment">// ခွင့်ပြုချက်မလုံလောက်ကြောင်းအခါကွပ်မျက်ပျက်ကွက်</span></span><span>
</span></span>
ဤဥပမာတွင် FTP အသုံးပြုသူသည် sensitive_file.txt ဖိုင်၏ခွင့်ပြုချက်ကိုပြောင်းလဲရန်ခွင့်ပြုချက်မရှိပါကကွပ်မျက်မှုပျက်ပြားသွားလိမ့်မည်။
Network Connectivity ပြ issues နာများသည် FTP စစ်ဆင်ရေးပျက်ကွက်မှု၏ဘုံအကြောင်းများအနက်မှတစ်ခုဖြစ်သည်။ 0 န်ဆောင်မှုခံယူသူနှင့် ftp server အကြားကွန်ယက်ချိတ်ဆက်မှုသည် FTP_Site command ကိုအကောင်အထည်ဖော်သည့်အခါသို့မဟုတ်ဆာဗာတုန့်ပြန်မှုအချိန်ကိုအကောင်အထည်ဖော်သည့်အခါမတည်မငြိမ်ဖြစ်လျှင် command ကိုအောင်မြင်စွာကွပ်မျက်ခံရမည်မဟုတ်ပါ။
<span><span><span class="hljs-variable">$ftp_conn</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ftp_connect</span></span><span>(</span><span><span class="hljs-string">"ftp.example.com"</span></span><span>, </span><span><span class="hljs-number">21</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>); </span><span><span class="hljs-comment">// အချိန်ကုန်ထားပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ftp_login</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>, </span><span><span class="hljs-string">"username"</span></span><span>, </span><span><span class="hljs-string">"password"</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">ftp_site</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>, </span><span><span class="hljs-string">"SITE CHMOD 777 somefile.txt"</span></span><span>); </span><span><span class="hljs-comment">// ကွန်ယက်ပြ problems နာများသည်ရှုံးနိမ့်မှုသို့ ဦး တည်သည်</span></span><span>
</span></span>
command ကိုကွပ်မျက်ပြီးနောက်ကွန်ယက်သည်မတည်မငြိမ်ဖြစ်လျှင်သို့မဟုတ် FTP ဆာဗာသည်အချိန်မီတုံ့ပြန်ရန်ပျက်ကွက်ပါက FTP_Site သည် ပျက်ကွက်နိုင်သည်။
အကယ်. FTP server သည် High Load State ရှိတောင်းဆိုမှုကိုဖြစ်စေသည်ဆိုပါက၎င်းသည်နှောင့်နှေးနေသည့်ပညတ်တော်အချို့ကိုနှောင့်နှေးစေနိုင်သည်။ ၎င်းသည်များသောအားဖြင့်ရှားပါးသောပြ problem နာဖြစ်သော်လည်းယာဉ်အသွားအလာမြင့်မားသောပတ်ဝန်းကျင်တွင် ဆာဗာ အရင်းအမြစ်များသည်ကန့်သတ်ချက်ရှိနိုင်သည်။