घातक त्रुटि (WSOD) सुरक्षा को अक्षम कैसे करें?


12

वर्डप्रेस 5.1 और 5.2 में घातक त्रुटि हैंडलिंग पेश की गई थी।

इसे कभी-कभी व्हाइट स्क्रीन ऑफ डेथ (डब्लूएसओडी) संरक्षण के रूप में जाना जाता है।

देव / स्थानीय संस्थापनों पर काम करते समय, हम कभी-कभी साइटों को आवश्यकतानुसार तोड़ने में सक्षम होते हैं, और उदाहरण के लिए संरक्षित समापन बिंदु के भीतर काम करते समय साइट के लिए ईमेल पुनर्प्राप्ति प्रक्रिया से बचते हैं (देखें is_protected_endpoint()):

साइट तकनीकी कठिनाइयों का सामना कर रही है। कृपया निर्देशों के लिए अपनी साइट व्यवस्थापक ईमेल इनबॉक्स देखें।

हम घातक त्रुटि हैंडलिंग को कैसे अक्षम कर सकते हैं?

जवाबों:


15

हम दो तरीकों से फ़ंक्शन के बूल आउटपुट को संशोधित कर सकते wp_is_fatal_error_handler_enabled()हैं:

लगातार

फ़ाइल के भीतर WP_DISABLE_FATAL_ERROR_HANDLERस्थिरांक सेट करें :truewp-config.php

/**
 * Disable the fatal error handler.
 */
const WP_DISABLE_FATAL_ERROR_HANDLER = true; 

या

define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true );

फ़िल्टर

wp_fatal_error_handler_enabledबूल फ़िल्टर का उपयोग करें :

/**
 * Disable the fatal error handler.
 */
add_filter( 'wp_fatal_error_handler_enabled', '__return_false' );

टिप्पणियाँ

टिकट देखें # 44458

wp_fatal_error_handler_enabledफिल्टर का मूल्य को पार कर जाएगी WP_DISABLE_FATAL_ERROR_HANDLERनिरंतर।

निरंतर अक्षम लेकिन फ़िल्टर सक्षम करने के साथ संभावित बूल भ्रम के लिए भी देखें ।

मेरे परीक्षण में, फ़िल्टर का उपयोग , प्लग - इन के रूप में, उम्मीद के मुताबिक काम नहीं कर रहा है, इसलिए मैं इसके बजाय निरंतर उपयोग कर रहा हूं। उम्मीद है कि मैं इस पर गौर कर सकता हूं।

वर्ग में ओवरराइड करने के लिए डायरेक्टरी ( src ) में एक कस्टम ड्रॉप-इन फ़ाइल भी जोड़ सकते हैं । हमें एक अलग श्रेणी के नाम का उपयोग करना चाहिए और इसे पंजीकृत शटडाउन फ़ंक्शन के रूप में विधि को परिभाषित करना चाहिए ।fatal-error-handler.phpwp-contentWP_Fatal_Error_Handlerhandle()

इसे अक्षम करने के लिए एक सरल उदाहरण डिफ़ॉल्ट त्रुटि हैंडलर वर्ग को एक कस्टम के साथ ओवरराइड करना होगा जो कुछ भी नहीं करता है:

<?php
class WPSE_Fatal_Error_Handler {
    public function handle() {}
}
return new WPSE_Fatal_Error_Handler;

PHP 7+ में अनाम वर्ग के रूप में अच्छी तरह से काम करने लगता है:

<?php
return new Class(){
    public function handle() {}
};

WP_Fatal_Error_Handlerयदि आवश्यक हो तो यह डिफ़ॉल्ट वर्ग का विस्तार भी कर सकता है ।

फिर वहाँ WP_SANDBOX_SCRAPINGस्थिर है। # 46045 देखें

WP_DEBUGसच को सेट करना WSOD सुरक्षा को अक्षम नहीं करेगा । यह डिजाइन द्वारा है। # 46825 देखें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.