"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > PHP 8.1 में अपग्रेड करने के बाद मेरे कस्टम त्रुटि संदेश mysqli_connect विफलताओं में क्यों प्रदर्शित नहीं हो रहे हैं?

PHP 8.1 में अपग्रेड करने के बाद मेरे कस्टम त्रुटि संदेश mysqli_connect विफलताओं में क्यों प्रदर्शित नहीं हो रहे हैं?

2024-11-08 को प्रकाशित
ब्राउज़ करें:859

Why Are My Custom Error Messages Not Displaying in mysqli_connect Failures After Upgrading to PHP 8.1?

mysqli_connect विफलताओं में छिपे हुए कस्टम त्रुटि संदेश की जांच करना

डेटाबेस कनेक्शन स्थापित करने के प्रयास में, आपको एक समस्या का सामना करना पड़ा जहां आपके द्वारा परिभाषित कस्टम त्रुटि संदेश नहीं किया जा रहा था कनेक्शन विफल होने पर प्रदर्शित किया गया। आप उपयोगकर्ता के दृष्टिकोण से त्रुटि संदेशों को दबाने के लिए एक विधि भी खोज रहे हैं। त्रुटि, मैन्युअल त्रुटि प्रबंधन की आवश्यकता को समाप्त करना जैसा कि PHP के पुराने संस्करणों में किया गया था। त्रुटि प्रबंधन। PDO और mysqli दोनों में किसी भी अन्य PHP कमांड की तरह ही त्रुटियों को स्वचालित रूप से बढ़ाने की क्षमता है। इसलिए, मैन्युअल रूप से त्रुटियों की जांच करना, जैसा कि आपने if (!$conn) सेगमेंट के साथ करने का प्रयास किया था, अप्रचलित है।

उपयोगकर्ताओं के लिए त्रुटि एक्सपोजर से बचना

त्रुटि संदेशों को उपयोगकर्ता तक पहुंचने से रोकने के लिए , आपको डिस्प्ले_एरर्स कॉन्फ़िगरेशन विकल्प का उपयोग करना चाहिए, जिसे सभी त्रुटि आउटपुट को दबाने के लिए 0 पर सेट किया जा सकता है। इसे php.ini फ़ाइल में या सीधे आपके PHP कोड में कॉन्फ़िगर किया जा सकता है:

ini_set('display_errors', 0);

उपयोगकर्ता-अनुकूल त्रुटि पृष्ठ प्रदान करना

गुप्त त्रुटि संदेशों को प्रदर्शित करने के बजाय, साइट आगंतुकों के लिए एक उपयोगकर्ता-अनुकूल त्रुटि पृष्ठ प्रस्तुत करना उचित है। इसे एक त्रुटि हैंडलर स्थापित करके प्राप्त किया जा सकता है, जैसे कि नीचे दिया गया है, जो सभी अपरिवर्तनीय त्रुटियों को पकड़ लेगा:

ini_set('display_errors', 0);
डेटाबेस कनेक्शन त्रुटियों को अलग से संभालना

यदि आपको विशेष रूप से डेटाबेस कनेक्शन त्रुटियों को संभालने की आवश्यकता है, तो आप अपने नियमित से अलग, ट्राई-कैच ब्लॉक में लिपटे एक अलग कनेक्शन परीक्षण स्क्रिप्ट का उपयोग कर सकते हैं कनेक्शन कोड।

कनेक्शन क्रेडेंशियल की सुरक्षा करना
set_exception_handler(function ($e)
{
    error_log($e);
    http_response_code(500);
    if (ini_get('display_errors')) {
        echo $e;
    } else {
        echo "<h1>500 Internal Server Error</h1>\nAn internal server error has been occurred.<br>\nPlease try again later.";
    }
});
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3