လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> FTP_NB_Continue ကဆက်ထိန်းထားတယ်။ ပိတ်ဆို့ခြင်းနှင့်အချိန်ကုန်ပြ problems နာများကိုရှောင်ရှားရန်လှည့်ကွက်အနည်းငယ်ကိုသင်ပေးပါ

FTP_NB_Continue ကဆက်ထိန်းထားတယ်။ ပိတ်ဆို့ခြင်းနှင့်အချိန်ကုန်ပြ problems နာများကိုရှောင်ရှားရန်လှည့်ကွက်အနည်းငယ်ကိုသင်ပေးပါ

gitbox 2025-06-09

PHP ၏ပိတ်ဆို့ခြင်းမဟုတ်သော FTP စစ်ဆင်ရေး FTP ကိုပိတ်ဆို့ခြင်း ftp_nb_continue () တွင် developer များစွာသည်ခက်ခဲသောပြ problem နာတစ်ခုနှင့်ကြုံတွေ့ရလိမ့်မည်။ အဘယ်ကြောင့်ဆိုသော် FTP session သည်မမျှော်လင့်သောစောင့်ဆိုင်းနေသည့်အခြေအနေတွင်ဖြစ်သည်။ ဤဆောင်းပါးသည် FTP_NB_Continue ၏အကြောင်းရင်းများကိုအသေးစိတ်ဖော်ပြရန်နှင့်ပိတ်ဆို့ခြင်းနှင့်အချိန်ကုန်ပြ issues နာများကိုရှောင်ရှားရန်ထိရောက်သောဖြေရှင်းနည်းများကိုဖြည့်ဆည်းပေးနိုင်သည်။

FTP_NB_Continue ဆိုတာဘာလဲ။

ftp_nb_continue () ကို ပိတ်ဆို့ခြင်းမဟုတ်သော ftp_nb_get () နှင့် ftp_nb_put ()) နှင့် ftp_nb_put () ) နှင့်အသုံးပြုသည်။ ၎င်း၏ function ကိုမပြီးဆုံးသေးသော FTP စစ်ဆင်ရေးကိုဆက်လက်လုပ်ဆောင်ရန်ဖြစ်သည်။ ပိတ်ဆို့ခြင်းမဟုတ်သောကူးစက်မှု၏အားသာချက်မှာပြီးစီးရန်ဂီယာကိုစောင့်ဆိုင်းရန်စောင့်ဆိုင်းနေစဉ်အခြားယုတ္တိဗေဒကိုဆက်လက်လုပ်ဆောင်နိုင်သည့်အခြားယုတ္တိဗေဒကိုဆက်လက်လုပ်ဆောင်နိုင်သည်။

ပုံမှန်အားဖြင့်ပိတ်ဆို့ခြင်းမဟုတ်သော download လုပ်ခြင်းလုပ်ငန်းစဉ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

<Code> $ ftp = ftp_connect (gitbox.net '); FTP_LOGIN ($ FTP, 'Username', 'Password'); $ Ret = FTP_NB_GET (ဒေါ်လာ FTP, Local_file.txt ',' Remote_file.txt ', ftp_binary),

နေစဉ် ($ Ret == ftp_moredata) {
// အခြားတာဝန်များကိုလုပ်ဆောင်နိုင်ပါတယ်
do_something_else ();

 // လွှဲပြောင်းရန်ဆက်လက်
$ret = ftp_nb_continue($ftp);

}
</ code>

အရမ်းရိုးရှင်းပါတယ် သို့သော်၎င်းကိုအမှန်တကယ်အသုံးပြုသည့်အခါလူများစွာသည်ဤသံသရာဖြင့် "စွဲကပ်" နေကြသည်။

မှီဝဲများအတွက်ဘုံအကြောင်းပြချက်

1 ။ FTP server သည်နှေးကွေးသို့မဟုတ်တုံ့ပြန်မှုမရှိပါ

အချို့သော FTP ဆာဗာများသည်အချို့သောပြည်နယ်များတွင်နှောင့်နှေးနေကြောင်း, ၎င်းသည် FTP_NB_Continue () ကို FTP_MOREDATA ပြည်နယ်တွင်ဆက်လက်တည်ရှိရန်နှင့်ဘယ်တော့မှမကုန်ဆုံးပါ။

ဖြေရှင်းချက် -

  • ကျိုးကြောင်းဆီလျော်သောအချိန်ကုန်ကိုသတ်မှတ်ပါ -

    <code> ftp_set_option ($ ftp, ftp_ToOut_sec, 30); </ code>
  • Stream_set_set_Timeout () ကိုသုံးရန် (ftp ၏နောက်ခံစီးဆင်းမှုကိုရယူရန်လိုအပ်သည်) ကိုသုံးပါ။

2 ။ သေလွန်သောအသေကောင်ကိုနှောင့်နှေးခြင်းမရှိခဲ့ပါ,

Developer အတော်များများသည်ပိတ်ဆို့ခြင်းမဟုတ်သောကွင်းဆက်များကို 0 င်ရောက်သောအခါ CPU ကိုပျံသန်းခြင်းကိုဖြစ်ပေါ်စေသည့်အခါ ကွင်းဆက် သို့နှောင့်နှေးရန်မေ့နေပြီး CPU ကိုပျံသန်းခြင်းကိုဖြစ်ပေါ်စေပြီး FTP server သည်တောင်းဆိုမှုများကိုတုံ့ပြန်ရန်အချိန်မရှိပါ။

ဖြေရှင်းချက် -

<code> နေစဉ် ($ Ret == ftp_moredata) {do_somethethethethethething_else (); USEEEP (100000), // နှောင့်နှေး 100ms $ ret = ftp_nb_continue ($ FTP); } </ code>

3 ။ ဖိုင်ကိုလွှဲပြောင်းထားပြီးဖြစ်သော်လည်း status ကိုမွမ်းမံနိုင်ခြင်းမရှိသေးပါ

ထုတ်လွှင့်ခြင်းပြီးဆုံးပြီးနောက် FTP ဆာဗာများသည် status code ကိုမှန်ကန်စွာမပြန်ကြပါ

ဖြေရှင်းချက် -

  • local file size သည်မျှော်လင့်ချက်များနှင့်ကိုက်ညီမှုရှိမရှိစစ်ဆေးပါ။

  • ပြန်လည်ထူထောင်ချိန်အများဆုံးအရေအတွက်ကိုသတ်မှတ်ပါ။

    <code> $ maxtries = 100; $ tries = 0;

    နေစဉ် ($ Ret == ftp_moredata && $ maxtries <$ maxtries)
    USEEEP (100000),
    $ ret = ftp_nb_continue ($ FTP);
    $ tries ++;
    }

    လျှင် ($ tries == $ maxtries) {
    ချွင်းချက်အသစ် ('FTP ထုတ်လွှင့်ချိန်အချိန်) ကိုပစ်ပါ။
    }
    </ code>

4 ။ FTP passive / Active Mode configuration အမှား

ကွဲပြားခြားနားသောဆာဗာများသည်တက်ကြွသော (port) နှင့် passive (pasv) mode များကိုမထောက်ပံ့ပါ။ မမှန်ကန်သောချိန်ညှိချက်များသည် connection တည်ဆောက်ခြင်းဖြစ်သော်လည်းအချက်အလက်များကိုမှန်ကန်စွာလွှဲပြောင်း။ မရပါ။

ဖြေရှင်းချက် -

<Code> FTP_PASV ($ FTP, true), // passive mode ကို enable </ code>

Active / Passive Mode အကြားပြောင်းရန်ကြိုးစားပါ။ သင်၏ FTP ဝန်ဆောင်မှုနှင့်မည်သည့်အရာနှင့် ပို. လိုက်ဖက်သနည်း။

အကောင်းဆုံးအလေ့အကျင့်အကျဉ်းချုပ်

  • ပိတ်ဆို့ခြင်းမဟုတ်သော mode ကိုအသုံးပြုသောအခါထွက်ပေါက်ယန္တရားကိုဒီဇိုင်းဆွဲရန်သေချာပါစေ။

  • ကျိုးကြောင်းဆီလျော်သောနှောင့်နှေးမှုများကိုသံသရာတွင်ထည့်သွင်းထားကြောင်းသေချာစေရန်,

  • အချိန်ကုန်ခြင်းနှင့်အများဆုံးကြိုးစားမှုအရေအတွက်ကိုသတ်မှတ်ပါ။

  • အကယ်. သင်သည်ကြာရှည်စွာကြုံတွေ့ရပါက FTP mode ကိုပြောင်းရန်ကြိုးစားပါ။

  • အရင်းအမြစ်များကိုဖြန့်ချိရန်မမေ့ပါနှင့်

    <code> ftp_close ($ ftp); </ code>

ကောက်ချက်

FTP_NB_Continue () သည် FTP လုပ်ငန်း၏ပြောင်းလွယ်ပြင်လွယ်မှုများကိုမှန်ကန်စွာတိုးတက်စေနိုင်သည်, သို့သော်မှီဝဲရန်လည်းလွယ်ကူသည်။ အထက်ပါကျွမ်းကျင်မှုများကိုကျွမ်းကျင်စေခြင်းအားဖြင့်သင်သည်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ပိတ်ဆို့ခြင်း, ပိတ်ဆို့ခြင်းနှင့်အလွန်အကျွံသုံးစွဲခြင်းနှင့်အလွန်အမင်း CPU အသုံးပြုမှုကိုရှောင်ရှားနိုင်သည်။ သင်၏ PHP FTP ပရိုဂရမ်ကိုပိုမိုတည်ငြိမ်ပြီးထိရောက်စေသည်။ အကယ်. သင်သည်အလားတူအခြေအနေများနှင့်ကြုံတွေ့ရပါက၎င်းတို့အားတစ် ဦး အားဖြင့်တစ် ဦး ကိုစစ်ဆေးပြီး root အကြောင်းအရင်းကိုရှာပြီးမှန်ကန်သောဆေးကိုသတ်မှတ်နိုင်သည်။