လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> session_cache_limiter_limiter အကောင်းဆုံးအလေ့အကျင့်များနှင့် session_start ကိုအသုံးပြုခြင်းအတွက်သိကောင်းစရာများ ()

session_cache_limiter_limiter အကောင်းဆုံးအလေ့အကျင့်များနှင့် session_start ကိုအသုံးပြုခြင်းအတွက်သိကောင်းစရာများ ()

gitbox 2025-06-09

PHP တွင် Session_Start () နှင့် session_cache_limiter () တွင် session_cache_limiter () သည် session စီမံခန့်ခွဲမှုနှင့် cacheation မဟာဗျူဟာများနှင့်ကိုင်တွယ်သောအရေးကြီးသောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်သည်။ Developer များကဘုံအမှားများကိုရှောင်ရှားရန်နှင့်လျှောက်လွှာစွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်နှင့် application service ကိုတိုးတက်စေရန်နှင့်ပူးပေါင်းသူများအားမည်သို့ကူညီနိုင်သည်ကိုနားလည်ရန်ကူညီသည်။ ဤဆောင်းပါးသည် session အစကိုချောချောမွေ့မွေ့စတင်ရန်နှင့် cache control ကိုအကောင်းဆုံးဖြစ်စေရန်ဤလုပ်ငန်းဆောင်တာနှစ်ခုနှင့်မည်သို့ထိရောက်စွာပူးပေါင်းဆောင်ရွက်ရန်ဆွေးနွေးပါမည်။

1 ။ session_cache_limiter ၏အခန်းကဏ်။

Session_COCE_LIMIDER () PHP session cache အတွက်ကန့်သတ်ချက်ကိုသတ်မှတ်ရန်သို့မဟုတ်ရယူရန်အသုံးပြုသည်။ ၎င်း၏ပုံမှန်တန်ဖိုးသည်များသောအားဖြင့် "noCache" ဖြစ်ပြီး browser သည်နှင့်သက်ဆိုင်သောအကြောင်းအရာများကိုမကိုက်ညီသောကြောင့်ဖြစ်သည်။ ဤလုပ်ဆောင်မှုမှတစ်ဆင့် developer များက session data ၏ cache ကိုအပြုအမူကို granularularly controlularly ထိန်းချုပ်နိုင်သည်။

အသုံးများသော parameter သည်တန်ဖိုးများ:

  • "nocache" : cache မရှိပါ။

  • "အများပြည်သူ" - အများပြည်သူအကြောင်းအရာကို cache ။

  • "ပုဂ္ဂလိက" : သီးသန့် content ကို cache ။

  • "private_no_expire" : သီးသန့် cache ပါဝင်မှု, ဒါပေမယ့်သက်တမ်းကုန်ဆုံးချိန်ကိုမသတ်မှတ်ထားပါ။

Session_Start () မခေါ်မီဤလုပ်ဆောင်မှုကိုအသုံးပြုရမည်။ သို့မဟုတ်ပါကအလုပ်မလုပ်ပါ။

2 ။ session_start ၏အခန်းကဏ် ()

Session_Start () သည် session အသစ်တစ်ခုကိုစတင်ရန်သို့မဟုတ်ရှိပြီးသား session တစ်ခုကိုပြန်ယူရန်အသုံးပြုသည်။ Session identifier (များသောအားဖြင့် phpsessid) ကိုတောင်းဆိုသည့် session အမှတ်အသား (များသောအားဖြင့် phpsessid ) အပေါ် အခြေခံ. အစည်းအဝေးအချက်အလက်များကိုရှာဖွေတွေ့ရှိလိမ့်မည်။

ပုံမှန်အားဖြင့် PHP သည် session cache ကိုအလိုအလျောက်စီမံသည်။ သို့သော်သင် session_cache_limiter () နှင့် session_start () နှင့်အတူ pression_cache_limiter () ကိုအသုံးပြု။ ပိုမို granary cache ထိန်းချုပ်မှုလိုအပ်ပါကအကောင်းဆုံးအလေ့အကျင့်ဖြစ်ပါတယ်။

3 ။ session_cache_limiter () နှင့် session_start () အတူတကွအသုံးပြုသောအကောင်းဆုံးအလေ့အကျင့်များ

3.1 session_start မတိုင်မီ cache ကိုကန့်သတ်ချက်များကိုသတ်မှတ်ပါ။

session တစ်ခုမစတင်မီ cache policy ကိုသတ်မှတ်ရန် session_cache_limiter () function ကိုသုံးပါ။ အကယ်. cache ကိုမသတ်မှတ်ပါက browser သည် session cache ကို cache လုပ်နိုင်သည်, အလားအလာရှိသောလုံခြုံရေးအန္တရာယ်များသို့မဟုတ် application ၏ကြိုတင်ခန့်မှန်း။ မရသောအပြုအမူများကိုဖြစ်ပေါ်စေသည်။

 session_cache_limiter('nocache'); // cache ကိုမထားပါနှင့် cache ကိုကန့်သတ်ထားပါ
session_start(); // session တစ်ခုစတင်ပါ

3.2 လိုအပ်ချက်များအရ Cache Policy ကိုရွေးချယ်ပါ

သင်၏လျှောက်လွှာမှလိုအပ်သော cache ပေါ်လစီအပေါ် အခြေခံ. ကွဲပြားခြားနားသော parameters တွေကိုရွေးချယ်ပါ။ ဥပမာအားဖြင့်, session data သည်အထိခိုက် ခံပါက, သင်၏စာမျက်နှာသည် static သည် static ဖြစ်ပြီးအသုံးပြုသူ session data ပေါ်တွင်မူတည်သည်မဟုတ်လျှင် "အများသုံး" သို့မဟုတ် "ပုဂ္ဂလိက" ကိုသုံးနိုင်သည်။

 // တည်ငြိမ်သောအကြောင်းအရာများအတွက်သင့်တော်သည်
session_cache_limiter('public');
session_start();

3.3 browser ကို cache ကိုအထိခိုက်မခံသောအချက်အလက်များမှတားဆီးပါ

အကယ်. သင်၏သင်ခန်းစာတွင်အထိခိုက်မခံသောအချက်အလက်များပါ 0 င်ပါက Nocache သို့မဟုတ် private_no_no_expire ကို အသုံးပြုခြင်းသည် browser cache ကိုအသုံးပြုခြင်းကိုတားဆီးနိုင်သည်။ အောက်ပါဥပမာသည်ဤမဟာဗျူဟာကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုပြသသည်။

 session_cache_limiter('private_no_expire');
session_start();

ဤသည် browser သည် session content ကို cache session content ကို cache မလုပ်ဘဲအထိခိုက်မခံသောအချက်အလက်များကိုမတော်တဆသိမ်းဆည်းထားခြင်းမှတားဆီးထားသည်။

3.4 ဘာမှမထုတ်ယူခင်ခေါ်

session_cache_limiter () () ကို စာမျက်နှာမဖွင့်မီဖုန်းဆက်ရမည်။ PHP အစည်းအဝေးများသည် HTTP ခေါင်းစီးများကိုစီမံရန်လိုအပ်သည်။ ၎င်းသည် HTML သို့မဟုတ်အခြား output ကိုမပို့မီပြုလုပ်ရမည်။

 // မည်သည့် output မတိုင်မီခေါ်ဆိုရန်သေချာပါစေ
session_cache_limiter('nocache');
session_start();

3.5 cache header ကို debugugug

cache header session ကို debug လုပ်ဖို့, headers_sent () function ကိုသုံးနိုင်တယ်။

 if (headers_sent()) {
    echo "Headers already sent.";
} else {
    session_cache_limiter('nocache');
    session_start();
}

4 ။ မကြာခဏမေးသောမေးခွန်းများ

4.1 Session_Start () ခေါ်ဆိုမှုအမိန့်

ဘုံအမှားတစ်ခုမှာ Session_Start () မခေါ်ယူမီ PHP ကိုပုံမှန် session header ကိုမှန်ကန်စွာသတ်မှတ်ရန်ပျက်ကွက်စေသည်။ session_start () မခေါ်မီ HTML output မရှိပါ။

4.2 URL နှင့် session identifiers

အကယ်. သင်၏လျှောက်လွှာသည် phpsessid ကဲ့သို့သော session identifiers များ (ဥပမာ phpsessid ကဲ့သို့သော) ကို URL မှတစ်ဆင့်ဖြတ်သွားပါကသင်ခန်းစာအချက်အလက်များကိုမတော်တဆသိမ်းဆည်းထားကြောင်းသေချာအောင်ပြုလုပ်ရမည်။ ဆာဗာကို configure လုပ်ခြင်း (သို့ ) session_cache_limiter () function ကိုသုံးခြင်းဖြင့်၎င်းကိုသင်ထိန်းချုပ်နိုင်သည်။

 session_cache_limiter('nocache');
session_start();

ယခုအချိန်တွင်ဘရောက်ဇာသည် session အမှတ်အသားနှင့်အတူအကြောင်းအရာများကို cache မလုပ်နိုင်ပါ။

5 ။ URLs နှင့်ပေါင်းစပ်။ session ကိုစီမံခန့်ခွဲမှုအတွက်အကောင်းဆုံးအလေ့အကျင့်

အချို့သောသီးခြားဖြစ်ရပ်များတွင်သင် URL တွင် session အမှတ်အသားကိုဖြတ်ကျော်ရန်လိုအပ်နိုင်သည်။ လုံခြုံရေးသေချာစေရန် HTTPS ကိုအသုံးပြုရန်နှင့် session_start () မတိုင်မီသင့်လျော်သော cachearing ပေါ်လစီသတ်မှတ်ရန်အကြံပြုသည်။

 session_cache_limiter('private_no_expire');
session_start();

ထို့အပြင် Session.cookie_Secure ကို Session.cookie_Secure ကို ချိန်ညှိခြင်းဖြင့် session cookies များကိုသာလုံခြုံသောဆက်သွယ်မှုတစ်ခုဖြင့်သာပေးပို့နိုင်သည်။

6 ။ နိဂုံးချုပ်

PHP တွင် session_cache_limiter () နှင့် session_start (session_start) ၏ဆင်ခြင်တုံတရားအသုံးပြုခြင်းသည်သင်ခန်းစာစီမံခန့်ခွဲမှုနှင့်လျှောက်လွှာလုံခြုံရေးကိုတိုးတက်စေရန်ကူညီနိုင်သည်။ Cache မူဝါဒများကိုကွဲပြားခြားနားသောအခြေအနေများတွင်မည်သို့သတ်မှတ်ရမည်ကိုကျွမ်းကျင်ပါကမမှန်ကန်သောထွက်ရှိမှုကိုရှောင်ရှားပါ။