2009-08-20 9 views
23

मैं जानता हूँ कि error_reporting(0); के बारे में है, और ini_set('display_errors', false);, लेकिन एक नोटिस वर्डप्रेस में प्रदर्शित होने है:मैं PHP नोटिस को वर्डप्रेस में दिखने से कैसे रोक सकता हूं?

Notice: Array to string conversion in /var/www/vhosts/treethink.net/subdomains/parkridge/httpdocs/wp-includes/formatting.php on line 359

यह केवल साइट के किसी भी अन्य पन्नों में नहीं वर्डप्रेस में प्रकट होता है,।

मैंने phpinfo() चेक किया, और सब कुछ सेट है ताकि त्रुटियां प्रदर्शित न हों। यह अभी भी क्यों दिखता है?

यहाँ लाइन है कि त्रुटि उत्पन्न है:

function wp_check_invalid_utf8($string, $strip = false) { 
    $string = (string) $string; 

मैं परिवर्तन वर्डप्रेस में कुछ बात है, को बदलने के लिए किया कि गैलरी में काम किया। लेकिन यह कार्य नहीं, और मुझे नहीं लगता कि मैंने इस समारोह में किसी भी कॉल को बदल दिया है। नोटिस दिखाई देने के अलावा, सबकुछ ठीक से काम करता प्रतीत होता है, मुझे बस इस त्रुटि को छिपाने की आवश्यकता है।

+0

क्या आप वाकई error_reporting और display_errors के मानों को नहीं बदलते हैं? – jmucchiello

+0

मैं यही सोच रहा था, लेकिन त्रुटि –

+0

से पहले नहीं थी, ओह, जब मैं साइट पर काम कर रहा था तो मानों को सेट करता था, इसलिए मैं देख सकता था कि त्रुटियां अधिक आसानी से थीं या नहीं। –

उत्तर

52

आप अपने संपादित करने की जरूरत:

wp-config.php 

फ़ाइल और यहाँ निम्नलिखित संशोधित:

error_reporting(0); 
@ini_set('display_errors', 0); 

अन्यथा Wordpress सचेत php.ini

+1

इसके लिए मेरे लिए काम करने के लिए मुझे wp-config.php नामक कॉन्फ़िगरेशन फ़ाइल के बाद wp-config के नीचे इन पंक्तियों को रखना था। – Colin

+0

महत्वपूर्ण: वर्तमान वर्डप्रेस संस्करण के साथ यह अब और काम नहीं कर रहा है। जब आप WP_DEBUG सक्षम करते हैं तो वर्डप्रेस त्रुटि_ रिपोर्टिंग विकल्प को ओवरराइट करेगा। यह समाधान आज काम कर रहा है (सितंबर 2015) http://stackoverflow.com/a/27997023/313501 – Philipp

+0

यह समाधान सभी त्रुटियों को न केवल नोटिस बंद कर देता है। एरिक हेनरी का समाधान बेहतर है, यह केवल सभी नोटिस और चेतावनियों को दबाकर सभी त्रुटियों को रखने की अनुमति देता है। – jstice4all

9

द्वारा निर्धारित WP-config में अधिलेखित कर देता है। php इस पंक्ति को जोड़ें:

define('WP_DEBUG_DISPLAY', false); 

जो पृष्ठ पर नोटिस और चेतावनियों के प्रदर्शन को सक्षम या अक्षम करेगा।

http://codex.wordpress.org/Debugging_in_WordPress

+0

यह मेरे लिए काम करता था - मुझे इसे wp-config.php के शीर्ष पर रखने की आवश्यकता थी। धन्यवाद (^ _ ^) * – adamS

1

अगर आप केवल त्रुटियों है कि इस समारोह से आता है छुपाना चाहते हैं आप के साथ

@function wp_check_invalid_utf8($string, $strip = false) 
{ 

} 
7

जनवरी 2015 का उपयोग कर सकते हैं: इस विकल्प की पूरी विवरण, और कुछ संबंधित विकल्प, यहाँ है नवीनतम वर्डप्रेस, उपरोक्त में से कोई भी मेरे लिए काम नहीं करता है।

Wordpress का म्यू प्लगइन्स फ़ोल्डर में एक php फ़ाइल बनाना काम की तरह,: बस यह कुछ भी आप चाहते हैं नाम

<?php 
error_reporting(E_ALL & ~(E_NOTICE | E_USER_NOTICE | E_STRICT | 
E_DEPRECATED | E_USER_DEPRECATED | E_WARNING | E_CORE_WARNING | 
E_USER_WARNING | E_COMPILE_WARNING | E_PARSE)); 

...

मैं यहां से जवाब मिला:

https://wycks.wordpress.com/2013/12/05/how-to-remove-error-notices-using-wordpresss-wp_debug/

+0

यह वास्तव में सबसे अच्छा समाधान है क्योंकि यह आपको WP_DEBUG और WP_DEBUG_DISPLAY का उपयोग करने की अनुमति देता है लेकिन केवल PHP नोटिस छुपाता है। अन्य समाधान या तो सभी डिबगिंग आउटपुट को काम नहीं कर रहे हैं या अक्षम नहीं कर रहे हैं – Philipp

+0

मामूली परिवर्तन: मेरे लिए मुझे केवल इस पंक्ति की आवश्यकता है: error_reporting (E_ALL & ~ (E_NOTICE)); – ssaltman

0
/** 
* For developers: WordPress debugging mode. 
* 
* Change this to true to enable the display of notices during development. 
* It is strongly recommended that plugin and theme developers use WP_DEBUG 
* in their development environments. 
*/ 
define('WP_DEBUG', false); 

// Enable Debug logging to the /wp-content/debug.log file 
define('WP_DEBUG_LOG', false); 

// Disable display of errors and warnings 
define('WP_DEBUG_DISPLAY', false); 
@ini_set('display_errors', 0); 

मैं क्या उपयोग करता हूं और यह नवीनतम वर्डप्रेस संस्करण के साथ काम करता है।

1

ज्यादातर समय इनके बारे में चिंता करने की कोई बात नहीं है (हालांकि प्लगइन/थीम डेवलपर को इनके बारे में पता होना चाहिए ताकि वे भविष्य में रिलीज में उन्हें ठीक कर सकें)। PHP चेतावनियां और नोटिस ज्यादातर समय उत्पादन साइट पर चिंता करने के लिए कुछ भी नहीं हैं। इनमें से कुछ भी उत्पन्न किए जा सकते हैं क्योंकि डेवलपर को वर्डप्रेस के पुराने संस्करणों के साथ-साथ पुराने PHP संस्करणों के साथ संगतता रखना पड़ता है।

define('WP_DEBUG', false); 
इस

ini_set('log_errors','On'); 
ini_set('display_errors','Off'); 
ini_set('error_reporting', E_ALL); 
define('WP_DEBUG', false); 
define('WP_DEBUG_LOG', true); 
define('WP_DEBUG_DISPLAY', false); 

साथ

तो आप बस सेट अपने WP-config.php फाइल में गलत को WP_DEBUG आप ठीक होना चाहिए। ये आपकी साइट को किसी भी तरह से प्रभावित नहीं करते हैं।

हालांकि, समस्या यह है कि उपरोक्त कुछ बार काम नहीं करता है। यह सस्ता साझा मेजबान पर अधिकतर बार हो सकता है जो PHP चेतावनियों और नोटिस प्रदर्शित करने के लिए मजबूर करता है। उस स्थिति में, आप इस लाइन को अपनी wp-config.php फ़ाइल से प्रतिस्थापित कर सकते हैं:

संबंधित मुद्दे