WordPress
डिबगिंग
खोज…
परिचय
https://codex.wordpress.org/Debugging_in_WordPress
PHP कोड को डीबग करना किसी भी प्रोजेक्ट का हिस्सा है, लेकिन वर्डप्रेस विशिष्ट डिबग सिस्टम के साथ आता है जिसे प्रक्रिया को सरल बनाने के साथ-साथ कोर, प्लगइन्स और थीम में कोड को मानकीकृत किया जाता है।
टिप्पणियों
वर्डप्रेस में डिबगिंग के लिए प्लगइन्स:
WP_DEBUG
WP_DEBUG
एक PHP स्थिरांक (एक स्थायी वैश्विक चर) है जिसका उपयोग पूरे वर्डप्रेस में "डीबग" मोड को ट्रिगर करने के लिए किया जा सकता है। यह डिफ़ॉल्ट रूप से गलत माना जाता है और आमतौर पर वर्डप्रेस की विकास प्रतियों पर wp-config.php
फ़ाइल में सही पर सेट किया जाता है।
define( 'WP_DEBUG', true );
define( 'WP_DEBUG', false );
WP_DEBUG_LOG
WP_DEBUG_LOG
, WP_DEBUG_LOG
का एक साथी है, जो सभी त्रुटियों को / wp-content / निर्देशिका के अंदर debug.log लॉग फ़ाइल में सहेजने का कारण बनता है। यह उपयोगी है यदि आप बाद में सभी नोटिसों की समीक्षा करना चाहते हैं या ऑफ-स्क्रीन जनरेट किए गए नोटिस (जैसे AJAX अनुरोध या wp-cron रन के दौरान) देखना चाहते हैं।
//enable
define( 'WP_DEBUG_LOG', true );
//disable
define( 'WP_DEBUG_LOG', false );
WP_DEBUG_DISPLAY
WP_DEBUG_DISPLAY
का एक अन्य साथी है जो यह नियंत्रित करता है कि पृष्ठों के HTML के अंदर डिबग संदेश दिखाए गए हैं या नहीं। डिफ़ॉल्ट 'सत्य' है जो त्रुटियों और चेतावनियों को दिखाता है क्योंकि वे उत्पन्न होते हैं। इसे गलत पर सेट करना सभी त्रुटियों को छिपाएगा। इसे WP_DEBUG_LOG के साथ संयोजन में उपयोग किया जाना चाहिए ताकि बाद में त्रुटियों की समीक्षा की जा सके। नोट: कुछ भी करने के लिए WP_DEBUG_DISPLAY के लिए, WP_DEBUG को सक्षम होना चाहिए (सत्य)।
//enable
define( 'WP_DEBUG_DISPLAY', true );
//disable
define( 'WP_DEBUG_DISPLAY', false );
SCRIPT_DEBUG
SCRIPT_DEBUG
एक संबंधित स्थिरांक है जो वर्डप्रेस को सामान्य रूप से लोड किए गए लघु संस्करणों के बजाय कोर सीएसएस और जावास्क्रिप्ट फ़ाइलों के "देव" संस्करणों का उपयोग करने के लिए मजबूर करेगा। यह तब उपयोगी होता है जब आप किसी भी अंतर्निहित .js या .css फ़ाइलों में संशोधन का परीक्षण कर रहे होते हैं। डिफ़ॉल्ट गलत है।
//enable
define( 'SCRIPT_DEBUG', true );
//disable
define( 'SCRIPT_DEBUG', false );
SAVEQUERIES
SAVEQUERIES परिभाषा डेटाबेस प्रश्नों को एक सरणी में सहेजती है और उन क्वेरी का विश्लेषण करने में मदद करने के लिए उस सरणी को प्रदर्शित किया जा सकता है। सही के रूप में परिभाषित निरंतर प्रत्येक क्वेरी को सहेजने का कारण बनता है, उस क्वेरी को निष्पादित करने में कितना समय लगा, और किस फ़ंक्शन ने इसे बुलाया। नोट: यह आपकी साइट पर एक प्रदर्शन प्रभाव पड़ेगा, इसलिए जब आप डीबगिंग नहीं कर रहे हैं, तो इसे बंद करना सुनिश्चित करें।
define( 'SAVEQUERIES', true );
सरणी में संग्रहीत है
global $wpdb->queries;
उदाहरण wp-config.php और डीबगिंग के लिए अच्छे व्यवहार
निम्न कोड, आपकी wp-config.php फ़ाइल में डाला गया, wp-content डायरेक्टरी में debug.log नामक फ़ाइल में सभी त्रुटियों, नोटिस और चेतावनियों को लॉग करेगा। यह त्रुटियों को भी छिपाएगा ताकि वे पृष्ठ पीढ़ी को बाधित न करें।
// Enable WP_DEBUG mode
define( 'WP_DEBUG', true );
// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );
// Disable display of errors and warnings
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
// Use dev versions of core JS and CSS files (only needed if you are modifying these core files)
define( 'SCRIPT_DEBUG', true );
अच्छा अभ्यास यदि आप कस्टम संदेश जोड़ना चाहते हैं तो डिबग लॉग में फ़ोलोइंग कोड को अपने प्लगइन या थीम में जोड़ें।
//Checking is function_exists
if ( !function_exists( 'print_to_log' ) ) {
//function writes a message to debug.log if debugging is turned on.
function print_to_log( $message )
{
if ( true === WP_DEBUG ) {
if ( is_array( $message ) || is_object( $message ) ) {
error_log( print_r( $message, true ) );
} else {
error_log( $message );
}
}
}
}
लॉग को एक अलग फ़ाइल में देखें
जब आपके पास एक अजाक्स कॉल होता है, तो कॉलबैक फ़ंक्शन के अंदर से लॉग प्राप्त करना बेहद मुश्किल होता है। लेकिन अगर आप डिबगिंग को सक्षम करते हैं
define('WP_DEBUG', true);
और उसके बाद जोड़ें
ini_set('log_errors',TRUE);
ini_set('error_reporting', E_ALL);
ini_set('error_log', dirname(__FILE__) . '/error_log.txt');
आपके पास अपने रूट फ़ोल्डर में एक error.log.txt
फाइल होगी जहां आपके सभी लॉग स्थित हैं। आप उन्हें लॉग इन भी कर सकते हैं
error_log( print_r( 'what I want to check goes here', true) );
अपने कोड के अंदर। इससे आपकी जिंदगी काफी आसान हो जाएगी।