လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> တစ် ဦး init function ကိုအတွက်စိတ်ကြိုက်အမှားစာမျက်နှာကိုဘယ်လိုအစပျိုးမလဲ

တစ် ဦး init function ကိုအတွက်စိတ်ကြိုက်အမှားစာမျက်နှာကိုဘယ်လိုအစပျိုးမလဲ

gitbox 2025-05-20

PHP Development တွင် Custom usror pages စာမျက်နှာများကိုသတ်မှတ်ခြင်းသည်အသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေရန်အရေးကြီးသောအလုပ်တစ်ခုဖြစ်သည်။ ပုံမှန်အားဖြင့်ကျွန်ုပ်တို့သည် PHP အမှားများကို Set_error_Handler () နှင့် set_exception_handler () လုပ်ဆောင်ချက်များမှတဆင့်ခြွင်းချက်များကိုကိုင်တွယ်နိုင်သည်။ ဤဆောင်းပါးသည်ဤအမှားကိုင်တွယ်သည့်ယန္တရားများကို PHP တွင် init function မှတဆင့်စတင်ဖြန့်ချိနိုင်ပြီး user-friendly custom page တွင်အမှားအယွင်းများကိုပြသလိမ့်မည်။

Init function ကဘာလဲ။

PHP တွင် Init function သည်ပရိုဂရမ်စတင်သောအခါအများအားဖြင့်စတင်လုပ်ဆောင်ခြင်းဖြစ်သည်။ ၎င်းကိုများသောအားဖြင့်ဒေတာဘေ့စ်ဆက်သွယ်မှု, အမှားကိုင်တွယ်ခြင်း, cache settings စသည့်အခြေခံပြင်ဆင်မှုများကိုသတ်မှတ်ရန်အသုံးပြုသည်။ လျှောက်လွှာသက်တမ်းတစ်လျှောက်လုံးတွင်စည်းလုံးသောအမှားကိုင်တွယ်ပုံတစ်ပုံရှိယုတ္တိရှိရှိသေချာစေရန်အမှားကိုင်တွယ်သူကိုစတင်ရန်ဤလုပ်ဆောင်မှုကိုအသုံးပြုနိုင်သည်။

အဆင့် 1: စိတ်ကြိုက်အမှားစာမျက်နှာကိုဖန်တီးပါ

ပထမ ဦး စွာကျွန်ုပ်တို့သည်စိတ်ကြိုက်အမှားစာမျက်နှာကိုပြင်ဆင်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်ရိုးရှင်းသော HTML စာမျက်နှာတစ်ခုကိုဖန်တီးနိုင်သည်။

 <!-- error_page.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>အမှားစာမျက်နှာ</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f2f2f2;
            color: #333;
            text-align: center;
            padding: 50px;
        }
        h1 {
            color: #f44336;
        }
    </style>
</head>
<body>
    <h1>စိတ်မကောင်းပါဘူး,အမှားတစ်ခုဖြစ်ပွားခဲ့သည်!</h1>
    <p>ကျနော်တို့ပြ the နာကိုဖြေရှင်းရန်ကြိုးစားအားထုတ်နေကြသည်,ကျေးဇူးပြု. နောက်မှထပ်ကြိုးစားပါ。</p>
</body>
</html>

ဤစာမျက်နှာကိုကျွန်ုပ်တို့၏အမှားအယွင်းများအားလုံးအတွက်ပြသမှုစာမျက်နှာတစ်ခုအနေနှင့်အသုံးပြုလိမ့်မည်။

အဆင့် 2: Init function ကိုရေးပြီးအမှားကိုင်တွယ်မှုကိုစတင်ပါ

ထို့နောက် PHP ၏ Init Front Function တွင်ကျွန်ုပ်တို့သည်စိတ်ကြိုက်အမှားကိုင်တွယ်သူတစ် ဦး တပ်ဆင်နိုင်သည်။ Set_error_Handler () နှင့် set_exception_handler () functions များနှင့်အတူ PHP အမှားအယွင်းများနှင့်ခြွင်းချက်များကိုကျွန်ုပ်တို့ဖမ်းယူနိုင်ပြီးကျွန်ုပ်တို့၏စိတ်ကြိုက်အမှားစာမျက်နှာသို့ redirect လုပ်နိုင်သည်။

 <?php
// init.php

// function ကိုစတင်
function init() {
    // Custom Error Handlers ကိုတည်ဆောက်ခြင်း
    set_error_handler('customErrorHandler');
    
    // Custom ခြွင်းချက် Handlers တက် setting
    set_exception_handler('customExceptionHandler');
}

// Custom အမှားကိုင်တွယ်erler
function customErrorHandler($errno, $errstr, $errfile, $errline) {
    // developer များကိုအကြောင်းကြားရန်အမှားမှတ်တမ်းများကိုသင်မှတ်တမ်းတင်နိုင်သည်သို့မဟုတ်အီးမေးလ်များပို့နိုင်သည်
    error_log("Error [$errno]: $errstr in $errfile on line $errline");

    // 重定向到自定义အမှားစာမျက်နှာ
    header("Location: https://gitbox.net/error_page.html");
    exit();
}

// စိတ်ကြိုက်ချွင်းချက် Handler
function customExceptionHandler($exception) {
    // developer များအားအကြောင်းကြားရန်ခြွင်းချက်မှတ်တမ်းများကို log sending လုပ်နိုင်သည်
    error_log("Uncaught exception: " . $exception->getMessage());

    // 重定向到自定义အမှားစာမျက်နှာ
    header("Location: https://gitbox.net/error_page.html");
    exit();
}

// 调用function ကိုစတင်
init();
?>

အဆင့် 3: အမှားအယွင်းများနှင့်ခြွင်းချက်များကိုကိုင်တွယ်ပါ

အထက်ပါကုဒ်တွင် init () function ကိုလျှောက်လွှာအစတွင်ဟုခေါ်သည်။ အမှားကိုင်တွယ်သူနှစ် ဦး ကို သတ်မှတ်သည်

  • Set_error_Handler ('CustomerRorroshandler') သည် PHP အမှားများကို CustomerRorrorhandler function ကို redirected ပြုလုပ်ရန်ခွင့်ပြုသည်။

  • Set_Exception_Handler ('customexceptline)) (' customexcepterler)) မှ မရှိသေးသောခြွင်းချက်များကိုကိုင်တွယ်ရန် သတ်မှတ်ထားသော အကောင်အထည်ဖော်မှုကိုကိုင်တွယ်ရန်ခွင့်ပြုသည်။

အမှားတစ်ခုသို့မဟုတ်ခြွင်းချက်တစ်ခုဖြစ်ပေါ်လာသောအခါ PHP သည်ဤလုပ်ဆောင်မှုများကိုအလိုအလျောက်လုပ်ဆောင်ခြင်း, သက်ဆိုင်ရာမှတ်တမ်းများကိုမှတ်တမ်းတင်ပြီးအသုံးပြုသူအား https://gitbox.net/error_page.html စာမျက်နှာသို့ပြောင်းပါလိမ့်မည်။ ဤနည်းအားဖြင့် PHP ၏ပုံမှန်အမှားစာမျက်နှာကိုအသုံးပြုသူများသည် PHP ၏မူလအမှားစာမျက်နှာကိုတွေ့ရလိမ့်မည်မဟုတ်ပါ။

အဆင့် 4: အမှားကိုင်တွယ်သူကိုစမ်းသပ်ပါ

ကျွန်ုပ်တို့၏အမှားကိုင်တွယ်erlerကိုစမ်းသပ်ရန်အမှားအယွင်းများသို့မဟုတ်ခြွင်းချက်အချို့ကို code တွင်တမင်တကာပစ်ချနိုင်သည်။ ဥပမာအားဖြင့် undefined function ကိုခေါ်ပါသို့မဟုတ်ခြွင်းချက်တစ်ခုချမှတ်ပါ။

 <?php
// အမှားတစ်ခုတမင်တကာထမြောက်သည်
echo undefinedFunction();

// အထူးခြွင်းချက်ကိုပစ်ချသည်
throw new Exception("ဒီစမ်းသပ်မှုချွင်းချက်ဖြစ်ပါတယ်!");
?>

ဤစာမျက်နှာကိုရယူသည့်အခါအသုံးပြုသူအား https:/gitbox.net/error_page.html စာမျက်နှာသို့ Redirected သင့်သည် PHP default error error error message ကိုမမြင်ဘဲပြန်လည်နေရာချထားသင့်သည်။

အကျဉ်းချုပ်

PHP တွင် Init function တွင် Custom heror page ကိုစတင်ခြင်းအားဖြင့်လျှောက်လွှာ၏အမှားကိုင်တွယ်သည့်ယန္တရားကိုပေါင်းစည်းပြီးဖော်ရွေသည်ကိုကျွန်ုပ်တို့သေချာစေနိုင်သည်။ Custom error error handlers များနှင့်ခြွင်းချက်ကိုင်တွယ်သူများကိုတည်ဆောက်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်မှားယွင်းသော HTML စာမျက်နှာများပေါ်တွင်အမှားအယွင်းများအားလုံးကိုပြန်လည်ပြုပြင်ခြင်း,

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