လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> session_register_shutdown () function ကိုအသုံးပြုသောအခါ session ကိုအလိုအလျောက်သိမ်းဆည်းနိုင်မည်နည်းဟူသောပြ problem နာကိုမည်သို့ဖြေရှင်းရမည်နည်း။

session_register_shutdown () function ကိုအသုံးပြုသောအခါ session ကိုအလိုအလျောက်သိမ်းဆည်းနိုင်မည်နည်းဟူသောပြ problem နာကိုမည်သို့ဖြေရှင်းရမည်နည်း။

M66 2025-07-18

PHP တွင် session_register_shutdown () function ကို အသုံးပြု. session ကိုပိတ်ထားသည့်အခါအလိုအလျောက်ကွပ်မျက်ခံရသည့် callback function ကိုမှတ်ပုံတင်ရန်အသုံးပြုသည်။ သီအိုရီအရ၎င်းသည် script လုပ်သည့်အခါ session data ကိုအလိုအလျောက်သိမ်းဆည်းရန်ကျွန်ုပ်တို့ကိုကူညီနိုင်သည်။ သို့သော်အမှန်တကယ်အသုံးပြုမှုတွင် developer များစွာသည်ပြ a နာတစ်ခုနှင့်ကြုံတွေ့ခဲ့ရသည်။ အကယ်. session_register_shutdown () ဟုခေါ်သော်လည်း Session data ကိုအလိုအလျောက်သိမ်းဆည်းခြင်းမပြုနိုင်ပါ။

ဤဆောင်းပါးသည်ဤပြ problem နာ၏ရင်းမြစ်အကြောင်းရင်းများကိုအသေးစိတ်လေ့လာပြီးသင်အစည်းအဝေးများကိုအလိုအလျောက်သိမ်းဆည်းရန်အထောက်အကူပြုရန်ဖြစ်နိုင်ခြေရှိသောဖြေရှင်းနည်းများကိုပေးလိမ့်မည်။


1 ။ ပြ problem နာ၏အကြောင်းရင်းကိုခွဲခြမ်းစိတ်ဖြာခြင်း

Session_register_shutdown () သည်အမှန်တကယ်မှာအတော်လေးနိမ့်ကျသောလုပ်ဆောင်ချက်ဖြစ်သည်။ PHP သည် session data session ကိုသိမ်းဆည်းရန် Session ကိုပိတ်သည့်အခါ၎င်းသည် session_write_close () ကိုအလိုအလျောက်ခေါ်ဆိုလိမ့်မည်။ သို့သော် PHP 5.4 မှစတင်. ဤလုပ်ဆောင်ချက်သည်အချို့သောပတ်ဝန်းကျင်တွင်မတည်ငြိမ်သောလုပ်ဆောင်မှုများပြုလုပ်ပြီးအထူးသဖြင့် session_write_close () output buffer နှင့်သက်ဆိုင်သောလုပ်ငန်းများ၌သို့မဟုတ် output outpose နှင့်ဆက်စပ်သောလုပ်ငန်းများ၌မတည်ငြိမ်သောလုပ်ဆောင်မှုများပြုလုပ်သည်

ထို့အပြင် session_register_shutdown () session_write_close () ကို သာအလိုအလျောက်ခေါ်ဆိုသည်။ အကယ်. developer သည် session_write_close () ကို တက်ကြွစွာခေါ်ယူပါက, နောက်ဆက်တွဲခေါ်ဆိုမှုများ၏အကျိုးသက်ရောက်မှုကိုလျစ်လျူရှုထားလိမ့်မည်။


2 ။ ဖြေရှင်းနည်း

ဖြေရှင်းချက် 1 - session_register_shutdown ကိုမသုံးပါနှင့် ()

session_register_shutdown () ကိုကန့်ကွက်ခြင်းဖြစ်ကြောင်း scription_write_close () နှင့်တိုက်ရိုက်ပေါင်းစပ်ရန်မှတ်ပုံတင်ရန်အကြံပြုသည်။

နမူနာကုဒ်:

 <?php
session_start();

// ဇာတ်ညွှန်း၏အဆုံးတွင်ကိုယ်တိုင်ကယ်တင်ပါ session
register_shutdown_function(function() {
    session_write_close();
});

// ပြန်လည်စစ်ဆေးကြည့်ရှု session အချက်များ
$_SESSION['user'] = 'Zhang San';

echo "Session အစုံ";
?>

ဤနေရာတွင်သော့ချက်မှာ scription_write_close_Close_Clse_Close () ကို ခေါ်ယူခြင်းနှင့် session data ကိုမှန်ကန်စွာသိမ်းဆည်းထားကြောင်းနှင့် session data ကိုမှန်ကန်စွာသိမ်းဆည်းထားရန်နှင့်သေချာစေရန်အတွက်အမည်မသိလုပ်ဆောင်မှုများကိုခေါ်ယူရန်နှင့် session data များကိုမှန်ကန်စွာသိမ်းဆည်းထားရန်နှင့်သေချာစေရန်အတွက်ဖြစ်သည်။


ဖြေရှင်းချက် 2 - session_write_Close () ကို script တွင်ကြိုတင်မခေါ်ကြောင်းသေချာအောင်လုပ်ပါ

session_write_close () ကို script ၏အခြားအစိတ်အပိုင်းများကိုခေါ်ပါကမှတ်ပုံတင်ရန်ဖုန်းခေါ်ဆိုပါက Register_shutDown_Function () သို့မဟုတ် session_register_shutdown () သို့မဟုတ် session_register_shutdown () သည်မမှန်ကန်ပါ။ ထပ်ခါတလဲလဲခေါ်ဆိုမှုများကိုရှောင်ရှားရန်ကုဒ်ကိုစစ်ဆေးရန်လိုအပ်သည်။

ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည် session ကိုအလိုအလျောက်သိမ်းဆည်းရန်ပျက်ကွက်လိမ့်မည်။

 <?php
session_start();

session_write_close(); // အစောပိုင်းပိတ်လိုက် session

// မှတ်ပုံတင်ပြီးသောအခါခေါ်,တကယ်တော့ဒါဟာနောက်တဖန်အကျိုးသက်ရောက်လိမ့်မည်မဟုတ်ပါ
session_register_shutdown();

$_SESSION['user'] = 'li si';

echo "Session ဖြစ်ကောင်းကယ်တင်ခြင်းမရှိပါ";
?>

မှန်ကန်သောနည်းလမ်းမှာကြိုတင်ပိတ်ထားသော session_write_close () ကို ဖယ်ရှားရန်ဖြစ်သည်။

 <?php
session_start();

session_register_shutdown();

$_SESSION['user'] = 'li si';

echo "Session ကယ်တင်ခြင်း";
?>

သို့သော်စွန့်ပစ်ပစ္စည်းများကိုရှောင်ရှားရန်ရှောင်ရှားရန်စာအရေးအသားနည်းလမ်းကိုပြောင်းလဲရန်အကြံပြုပါသည်။


အစီအစဉ် 3 - အလိုအလျောက်မှတ်ပုံတင်မည့်အစား session_write_close () ကိုကိုယ်တိုင်ခေါ်ဆိုပါ

အခြေအနေများမကုန်မှီအခြေအနေများမစတင်မီအခြေအနေများတွင် Session_write_Close () ကိုတိုက်ရိုက်ခေါ်ဆိုခြင်း,

 <?php
session_start();

$_SESSION['cart'][] = 'ကုန်ပစ္စည်းA';

// အားလုံးစီးပွားရေးယုတ္တိဗေဒ processing ပြီးနောက်,လက်စွဲစာအုပ်အရေးအသား session
session_write_close();

echo "စျေးဝယ်လှည်းကို update လုပ်ပါ";
?>

ဤနည်းလမ်းသည်ပိုမိုသဟဇာတဖြစ်ပြီးအလိုအလျောက်မှတ်ပုံတင်ခြင်းအပေါ်မှီခိုနေရသောရှုပ်ထွေးမှုကိုရှောင်ရှားသည်။


3 ။ ဆက်စပ်အရင်းအမြစ်များ

PHP session processing အကြောင်းပိုမိုသိရှိလိုပါကတရားဝင်စာရွက်စာတမ်းများကိုဖတ်ရှုပါ။

 <a href="https://m66.net/manual/zh/function.register-shutdown-function.php">PHP ရာထူးနျင့်ဆိုင်သော register_shutdown_function() စာချုပ်စာတမ်း</a>
  • သက်ဆိုင်သောတက်(ဂ်)များ:

    session