PHP की त्रुटि के प्रकार और रिपोर्टिंग
नोटिस, चेतावनियाँ और गंभीर त्रुटियाँ, साथ ही error_reporting के स्तर समझें
PHP की त्रुटि के प्रकार और रिपोर्टिंग, CoddyKit पर PHP Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह PHP Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
PHP त्रुटि के प्रकार
PHP में त्रुटियों की गंभीरता के कई स्तर होते हैं:
- सूचना — छोटी समस्या, निष्पादन जारी रहता है
- चेतावनी — गैर-घातक समस्या, निष्पादन जारी रहता है
- गंभीर त्रुटि — निष्पादन तुरंत रुक जाता है
- पार्स त्रुटि — वाक्यविन्यास की त्रुटि, निष्पादन से पहले रुक जाती है
- अप्रचलित — यह सुविधा हटा दी जाएगी
error_reporting()
error_reporting() से नियंत्रित करें कि PHP किन त्रुटियों की सूचना देता है:
<?php
// Show all errors (development)
error_reporting(E_ALL);
// Hide notices and deprecated
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
// Production: no display, log to file
error_reporting(E_ALL);
ini_set('display_errors', '0');
ini_set('log_errors', '1');
ini_set('error_log', '/var/log/php_errors.log');display_errors बनाम log_errors
त्रुटि प्रबंधन के लिए php.ini की मुख्य सेटिंग:
display_errors = On— ब्राउज़र में त्रुटियाँ दिखाएँ (केवल विकास में)display_errors = Off— उपयोगकर्ताओं से छिपाएँ (उत्पादन में)log_errors = On— त्रुटियाँ error_log फ़ाइल में लिखेंerror_log = /path/to/file— लॉग का स्थान निर्दिष्ट करें
उत्पादन में उपयोगकर्ताओं को त्रुटियाँ कभी न दिखाएँ!
trigger_error से त्रुटियाँ उत्पन्न करना
trigger_error() से अपनी PHP त्रुटियाँ उत्पन्न करें:
<?php
function divide(int $a, int $b): float {
if ($b === 0) {
trigger_error('Division by zero', E_USER_WARNING);
return 0.0;
}
return $a / $b;
}
echo divide(10, 0); // triggers E_USER_WARNINGकस्टम त्रुटि प्रबंधक
set_error_handler() से अपना त्रुटि प्रबंधक पंजीकृत करें:
<?php
set_error_handler(function(int $errno, string $errstr, string $file, int $line): bool {
$message = "[$errno] $errstr in $file:$line";
error_log($message);
if ($errno === E_USER_ERROR) {
http_response_code(500);
die('Internal error — please try again later');
}
return true; // don't execute PHP internal error handler
});
trigger_error('Custom error message', E_USER_ERROR);त्रुटियों के सामान्य स्रोत
PHP त्रुटियों के सामान्य कारण:
- अपरिभाषित सरणी कुंजी तक पहुँचने पर → सूचना
- ऐसे फ़ंक्शन को कॉल करना जो false लौटाता है और फिर परिणाम का उपयोग करना → चेतावनी
- अपरिभाषित फ़ंक्शन को कॉल करना → घातक त्रुटि
- अर्धविराम न होना → पार्स त्रुटि
- शून्य से विभाजन → चेतावनी (INF या NAN लौटाता है)
त्रुटि-दमन ऑपरेटर @
@ ऑपरेटर किसी एक अभिव्यक्ति से आने वाली त्रुटियों को दबा देता है — इसका उपयोग न करें, उचित त्रुटि प्रबंधन अपनाएँ:
<?php
// Bad: hides errors silently
$result = @file_get_contents('missing.txt');
// Good: check explicitly
$result = file_get_contents('missing.txt');
if ($result === false) {
// handle the error
echo 'File not found';
}PHP 8 का जस्ट-इन-टाइम संकलन और त्रुटियों में बदलाव
PHP 8 ने कुछ त्रुटियों का प्रबंधन अधिक कठोर बना दिया:
- कई चेतावनियों को TypeError/ValueError में बदल दिया गया
- सरल जाँचों के लिए रेगुलर एक्सप्रेशन की जगह स्ट्रिंग-जाँच फ़ंक्शन उपयोग किए जाते हैं
- गलत तर्क प्रकार देने पर डिफ़ॉल्ट रूप से TypeError उत्पन्न होता है
रनटाइम में ini_set
रनटाइम में php.ini की सेटिंग को अधिलेखित करें:
<?php
// Display errors during development
if (getenv('APP_ENV') === 'development') {
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
} else {
ini_set('display_errors', '0');
ini_set('log_errors', '1');
error_reporting(E_ALL);
}त्रुटि स्तर जाँचना
बिटवाइज़ AND से त्रुटि स्तर पहचानें:
<?php
$level = error_reporting();
if ($level & E_NOTICE) {
echo 'Notices are reported';
}
if ($level & E_WARNING) {
echo 'Warnings are reported';
}
// Check specific error types
echo (E_ALL & E_NOTICE) ? 'E_ALL includes E_NOTICE' : 'no';त्रुटि लॉग लेखन की सर्वोत्तम प्रक्रियाएँ
त्रुटि लॉग लेखन की अच्छी आदतें:
- उत्पादन में त्रुटियों को हमेशा लॉग करें
- संदर्भ शामिल करें: उपयोगकर्ता ID, अनुरोध URL, टाइमस्टैम्प
- आसान पार्सिंग के लिए संरचित लॉग लेखन (JSON) का उपयोग करें
- डिस्क भरने से रोकने के लिए लॉग फ़ाइलों को घुमाते रहें
- ELK, डाटाडॉग या पेपरट्रेल जैसे उपकरणों से लॉग की निगरानी करें
त्वरित जाँच
कौन-सा PHP त्रुटि प्रकार तुरंत निष्पादन रोक देता है?
पुनरावलोकन: PHP त्रुटि रिपोर्टिंग
त्रुटि प्रबंधन की आवश्यक बातें:
- त्रुटि प्रकार: सूचना, चेतावनी, घातक, पार्स, अप्रचलित
error_reporting()से स्तर निर्धारित करें- उत्पादन में प्रदर्शन बंद रखें और लॉग लेखन चालू रखें
set_error_handler()से कस्टम प्रबंधक पंजीकृत करें- उत्पादन कोड में
@से त्रुटियाँ कभी न दबाएँ
एआई शिक्षक के साथ PHP सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 49
- पाठ
- 195
अक्सर पूछे जाने वाले प्रश्न
क्या “PHP की त्रुटि के प्रकार और रिपोर्टिंग” पाठ निःशुल्क है?
हाँ—“PHP की त्रुटि के प्रकार और रिपोर्टिंग” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और PHP Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“PHP की त्रुटि के प्रकार और रिपोर्टिंग” में मैं क्या सीखूँगा?
नोटिस, चेतावनियाँ और गंभीर त्रुटियाँ, साथ ही error_reporting के स्तर समझें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ PHP Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या PHP Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर PHP Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“PHP की त्रुटि के प्रकार और रिपोर्टिंग” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस PHP Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर PHP Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- PHP की त्रुटि के प्रकार और रिपोर्टिंग
- Try, Catch और Finally
- कस्टम अपवाद बनाना
- त्रुटियों की लॉगिंग और सर्वोत्तम अभ्यास