သစ်ထုတ်လုပ်ခြင်းသည် PHP မှ Backend Development တွင်အလွန်အရေးကြီးသောအလုပ်ဖြစ်သည်။ စီးပွားရေး volume ကြီးထွားလာသည်နှင့်အမျှ log files အရွယ်အစားသည်တဖြည်းဖြည်းတိုးလာလိမ့်မည်။ ထို့ကြောင့် log segmentation နှင့် archives သည်အထူးအရေးကြီးသည်။ PHP တွင် Log Segmentation နှင့် PHP ရှိမှတ်တမ်း segmentation နှင့် archives functions များကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုဤဆောင်းပါးတွင်အသေးစိတ်မိတ်ဆက်ပေးပါမည်။
နေ့အားဖြင့်ခွဲစိတ်မှုသည်မှတ်တမ်းစီမံခန့်ခွဲမှုတွင်ဘုံအလေ့အကျင့်တစ်ခုဖြစ်သည်။ နေ့စဉ်မှတ်တမ်းဖိုင်အသစ်တစ်ခုကိုနေ့တိုင်းထုတ်လုပ်ပါ, ၎င်းသည်နေ့စဉ်မှတ်တမ်းများကိုရှင်းရှင်းလင်းလင်းဖော်ပြထားသည်။ ဒီမှာနမူနာကုဒ်တစ်ခုပါ။
$ logfile = '/path/toO/Log/file.log'; // log file လမ်းကြောင်း // လက်ရှိရက်စွဲကိုရမည့်ရက်စွဲ = ရက်စွဲ = ရက်စွဲ ('YM-D') ကိုရယူပါ။ // အကယ်. သင်ခွဲစိတ်ရန်လိုအပ်သည်ကိုစစ်ဆေးရန်လိုအပ်သည်ကိုစစ်ဆေးပါ။ // မနေ့က $ မနေ့က $ မနေ့က $ မနေ့ကယူ = ရက်စွဲ = ရက်စွဲ ('YM-D', Strtotime ('- 1 Day)); // ယမန်နေ့မနေ့က Backup ၏ log file $ backupfile = $ logfile ။ '' '' ။ မနေ့က အမည် ($ logfile, $ backupfile); // log ဖိုင်အမျိုးအစားအသစ် ($ logfile) ကိုဖန်တီးပါ။ }
ဖိုင်အရွယ်အစားအားဖြင့်ကွဲခြင်းအခြားဘုံနည်းလမ်းဖြစ်ပါတယ်။ မှတ်တမ်းဖိုင်သည်အရွယ်အစားတစ်ခုသို့ရောက်သောအခါမှတ်တမ်းဖိုင်အသစ်ကိုအလိုအလျောက်ဖန်တီးလိမ့်မည်။ ဤတွင်သက်ဆိုင်ရာကုဒ်နမူနာဖြစ်ပါတယ်:
$ logfile = '/path/toO/Log/file.log'; // log file path $ maxsize = 1024 * 1024; // အများဆုံးဖိုင်အရွယ်အစားကို 1MB သို့သတ်မှတ်ပါ // ဖိုင်အရွယ်အစားသည် (File_exists ($ logfile) & filesize ($ logfile)> = $ maxsize) သည်ကန့်သတ်ချက်ထက်ကျော်လွန်မနေကိုစစ်ဆေးပါ။ // backup ဖိုင်၏အမှတ်စဉ်နံပါတ် $ backuprodex = 1; စဉ် (file_exists ($ logfile '။ ' ။ $ backupandex)) $ backupoupinex ++; } // လက်ရှိ log file ကို $ backupfile = $ logfile ။ '' '' ။ $ backuprotinde; အမည် ($ logfile, $ backupfile); // log ဖိုင်အမျိုးအစားအသစ် ($ logfile) ကိုဖန်တီးပါ။ }
မှတ်တမ်းမော်ကွန်းတိုက်သည်ရေရှည်သိုလှောင်မှုနှင့်စုံစမ်းမှုအတွက် archive သက်တမ်းကုန်ဆုံးသောမှတ်တမ်းဖိုင်များကိုရည်ညွှန်းသည်။ မော်ကွန်းတိုက်များသည် log files များကို zip files များထဲသို့ချွေတာနိုင်သည်။ မှတ်တမ်းမော်ကွန်းတိုက်ကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုကုဒ်ဥပမာတစ်ခုမှာ -
$ logdir = '/ လမ်းကြောင်း / မှ / log / log /', // log file directory $ ရက်စွဲ = ရက်စွဲ ('YM-D') ကိုသတ်မှတ်ပါ။ // လက်ရှိရက်စွဲကိုရယူပါ // archive file ၏လမ်းကြောင်းကို $ ArchiveFile = $ logdir ။ 'archive /' ။ $ ရက်စွဲ။ '.zip'; // archive directory ကိုဖန်တီးပါ (မရှိပါက) လျှင် (! File_exists (Dirname (Dirname ($ ArchiveFile)))) Mkdir (Dirname ($ ArchiveFile), 0777, TRUE); } // archive အရာဝတ်ထု $ archive = အသစ် ziparchive (); $ Archive-> Open ($ ArchiDFile, Ziparchive :: ဖန်တီးခြင်း | // မှတ်တမ်းဖိုင်များအားလုံးကို $ logfiles = choor ($ logdir ') ကိုရယူပါ။ * .LOG'); foreach ($ logfile အဖြစ် $ logfiles) { $ Basename = Basename ($ logfile); $ ArchiveFilename = strow_replace ('Log' ',' _ '' ။ '_' '။ ' .log ', $ Basename); $ archive-> addfile ($ logfile, $ ArchiveFilename); // မော်ကွန်းတိုက်သို့မှတ်တမ်းဖိုင်ထည့်ပါ} // archive အရာဝတ်ထု $ archive-> အနီးကပ် ();
အထက်ပါကုဒ်သည် / လမ်းကြောင်း / log / log / log / log / log / log / log / log / log / log / log / log / log / log / directory မှ / လမ်းကြောင်း / directory မှ / လမ်းကြောင်း / directory မှ / log / log / directory နှင့် dialog မှဖိုင်များကိုရက်စွဲဖြင့်ဖော်ပြပါ။
ဤဆောင်းပါးမှကုဒ်နမူနာများမှတဆင့် PHP Backend function ဖွံ့ဖြိုးတိုးတက်မှုဆိုင်ရာမှတ်တမ်း segmentation နှင့် archive function များကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ ဤအချက်သည်သင့်အား log files များကိုပိုမိုကောင်းမွန်စွာစီမံခန့်ခွဲနိုင်ပြီးစနစ်တည်ငြိမ်မှုနှင့်ထိန်းသိမ်းမှုကိုတိုးတက်စေရန်ကူညီလိမ့်မည်။ သင့်တွင်၎င်းကိုအကောင်အထည်ဖော်ရန်ပိုမိုထိရောက်သောနည်းလမ်းရှိပါကမှတ်ချက်ပေးသည့်အရာတွင်၎င်းကိုမျှဝေပါ။