PHP တွင် Session သည်အသုံးပြုသူအဆင့်အတန်းကိုစီမံရန်အရေးကြီးသည့်ယန္တရားတစ်ခုဖြစ်သည်။ အသုံးပြုသူအစည်းအဝေးများကိုပိုမိုကောင်းမွန်စွာစောင့်ကြည့်ရန် (သို့) စောင့်ကြည့်ရန်အတွက်ကျွန်ုပ်တို့သည် session ကိုပိတ်ထားသည့်အခါတခါတရံတွင်ဆက်စပ်သောမှတ်တမ်းများကိုအလိုအလျောက်မှတ်တမ်းတင်လိုသည်။ PHP သည်အဆင်ပြေသော function_register_shutdown () ကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုကို အသုံးပြု. ရိုးရှင်းသော session logging system ကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုသရုပ်ပြပါလိမ့်မည်။
Session_register_shutdown () PHP 7.0.0 နှင့်အထက်တွင်ထည့်သွင်းထားသော function အသစ်တစ်ခုဖြစ်သည်။ ၎င်းသည် callback function ကိုမှတ်ပုံတင်ရန်နှင့် session data ကိုရေးသားပြီးနောက်တွင်ကွပ်မျက်ရန်အသုံးပြုသည်။ ၎င်း၏အဓိကလုပ်ဆောင်ချက်မှာစာဖြင့်ရေးသားထားသောမှတ်တမ်းများ, စာရင်းအင်းများစသည်တို့စသည့် session ကိုပိတ်ပစ်လုပ်ငန်းစဉ်တွင်ထုံးစံအတိုင်းထုံးစံအတိုင်းလုပ်ဆောင်ရန်ဖြစ်သည်။
session_register_shutdown(callback $callback): void
ဤလုပ်ဆောင်ချက်သည် callback function parameter ကိုလက်ခံရရှိသည်။
စတင်ပါ။
session ကိုပိတ်လိုက်သည့်အခါ log file သို့စာရေးရန် callback function ကိုမှတ်ပုံတင်ပါ။
မှတ်တမ်းများတွင် session id, Access, user usp နှင့် session တွင်အရေးကြီးသောအချက်အလက်များပါ 0 င်နိုင်သည်။
စာမျက်နှာလက်လှမ်းမီမှုအပြီးတွင်, session ကိုအလိုအလျောက်ပိတ်ပြီး callback function ကိုမှတ်တမ်းတင်သည်။
<?php
session_start();
// အသုံးပြုသူအချက်အလက်ကိုတုပပါ
if (!isset($_SESSION['user'])) {
$_SESSION['user'] = 'guest';
$_SESSION['visit_count'] = 1;
} else {
$_SESSION['visit_count']++;
}
// စာရင်း session log လုပ်ဆောင်ချက်များကိုပိတ်သိမ်းအပေါ်ကွပ်မျက်ခံရ
session_register_shutdown(function () {
$logFile = __DIR__ . '/session_log.txt';
$sessionId = session_id();
$ip = $_SERVER['REMOTE_ADDR'] ?? 'unknown';
$time = date('Y-m-d H:i:s');
$user = $_SESSION['user'] ?? 'unknown';
$visitCount = $_SESSION['visit_count'] ?? 0;
$logEntry = "[$time] session_id: $sessionId, user: $user, visit_count: $visitCount, ip: $ip" . PHP_EOL;
// file သို့ logs appends
file_put_contents($logFile, $logEntry, FILE_APPEND);
});
// စာမျက်နှာစီးပွားရေးယုတ္တိဗေဒဥပမာ
echo "<p>ဝမ်းသာစွာနှုတ်ဆက်ခြင်း,အသုံးပြုသူ:<strong>{$_SESSION['user']}</strong>,သင်ဤ site သို့သွားရောက်ခဲ့သည် <strong>{$_SESSION['visit_count']}</strong> ဒုတိယနှုန်း。</p>";
echo "<p>ပိုမိုသိရှိလိုပါက ကျေးဇူးပြု. ကြည့်ရှုပါ <a href='http://m66.net/info'>ကျွန်ုပ်တို့၏စာမျက်နှာ</a>。</p>";
?>
session_start () session ကိုစတင်သို့မဟုတ်ပြန်လည်စတင်။
ဝင်ရောက်ခွင့်စဉ်အတွင်း session variable တွေကို အသုံးပြုသူ နှင့် visit_count ကို အစပြုသို့မဟုတ်မွမ်းမံထားသည်။
session_register_shutdown () မှမှတ်ပုံတင်ထားသောအမည်မသိ function ကို session ကိုပိတ်ထားသည့်အခါကွပ်မျက်ခံရလိမ့် မည် ,
Log files များသည်လွယ်ကူသောကြည့်ရှုခြင်းနှင့်စီမံခန့်ခွဲမှုအတွက် script လမ်းညွှန်တွင်တည်ရှိသည်။
ဥပမာတွင်စာမျက်နှာလင့်ခ်၏ domain name ကို M66.net ဖြင့်အစားထိုးသည်။ ၎င်းသည်သင်၏လိုအပ်ချက်များကိုဖြည့်ဆည်းပေးသည်။
session_register_shutdown () function ကိုအသုံးပြုခြင်းသည် Session Logination ၏အဆုံးတွင်သစ်ထုတ်လုပ်ခြင်းကဲ့သို့သောထုံးစံဟန်ချက်ကိုလွယ်ကူစွာလုပ်ဆောင်ရန်လွယ်ကူသည်။ ဤနည်းလမ်းသည်ဒေတာပြိုင်ဆိုင်မှုနှင့်ပျက်ကွက်ခြင်းကိုရှောင်ရှားပြီးသောအခါဤနည်းလမ်းသည် session data ကိုလုပ်ဆောင်ရန်သေချာစေနိုင်သည်။ ရိုးရှင်းသောကုဒ်မှတဆင့်သင်သည်အသုံးပြုသူ session status ကိုစောင့်ကြည့်လေ့လာပြီးလျှောက်လွှာစီမံခန့်ခွဲမှုစွမ်းရည်နှင့်လုံခြုံရေးကိုတိုးတက်အောင်ပြုလုပ်နိုင်သည်။