PHP 5.3 में पदावनत त्रुटियों को बंद करें


127

मेरा सर्वर PHP 5.3 चला रहा है और मेरा वर्डप्रेस इंस्टॉल इन त्रुटियों को मुझ पर छोड़ रहा है, जिससे मेरा सत्र_स्टार्ट () टूट गया है।

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 647

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 662

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 669

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 676

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 712

यह कष्टप्रद है, लेकिन मैं स्क्रीन त्रुटि रिपोर्टिंग को बंद नहीं करना चाहता। मैं इन कष्टप्रद चेतावनियों को कैसे अक्षम करूं?

मैं वर्डप्रेस 2.9.2 चला रहा हूं।


क्या 3.3.1 वर्डप्रेस के वर्तमान संस्करण की तारीख तक नहीं है?
शादुर

वह पुराने वर्डप्रेस के साथ एक पुराने php की तरह लगता है
Qchmqs

जवाबों:


203

आप निम्न कार्यों को कॉल करके कोड में कर सकते हैं।

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

या

error_reporting(E_ALL ^ E_DEPRECATED);

धन्यवाद Robus, क्या यह किसी भी php त्रुटि रिपोर्टिंग को भी मार डालेगा?
atwellpub

6
नहींं, पहला व्यक्ति मूल रूप से ERROR / WARNING / PARSE / NOTICE त्रुटियों को दिखाने के लिए php को बताता है, दूसरा व्यक्ति php को सभी लेकिन विकृत त्रुटियों को दिखाने के लिए कहता है।
राबस

1
Ubuntu 5.5.9 का उपयोग करके Ubuntu पर "error_reporting = E_ALL & ~ E_DEPRECATED & ~ E_STRICT" का कोई प्रभाव नहीं है .... लेकिन, मेरे उदाहरण में, "@mysql_connect ();" चाल करें:
मोलोकोलो

@molokoloco आपने दो बार गलत किया। पहले आपने एक बात तय नहीं की। आपने इसे चुप करा दिया। दूसरा, आप अभी भी उपयोग कर रहे हैं mysqlजो कि पदावनत है। आपको कम से कम स्विच करना चाहिएmysqli
Marcin Orlowski

काम नहीं करता है। क्या यह कहीं पर अधिलेखित है? आप इसे कहाँ लगाते हैं?
एलेक्स


21

केवल उन त्रुटियों को प्राप्त करने के लिए जो अनुप्रयोग को काम करने से रोकते हैं, उपयोग करते हैं:

error_reporting(E_ALL ^ (E_NOTICE | E_WARNING | E_DEPRECATED));

यह नोटिस, चेतावनियों और पदावनत त्रुटियों को दिखाना बंद कर देगा।


13

पिछले सभी उत्तर सही हैं। चूंकि किसी ने भी यह नहीं बताया है कि PHP में सभी त्रुटियों को कैसे बंद किया जाए, इसलिए मैं यहां इसका उल्लेख करना चाहूंगा:

error_reporting(0); // Turn off warning, deprecated,
                    // notice everything except error

किसी को यह उपयोगी लग सकता है ...


11

मुझे बस एक ऐसी ही समस्या का सामना करना पड़ा जहाँ एक एसईओ प्लगइन ने बड़ी संख्या में चेतावनी जारी की जिससे मेरा ब्लॉग डिस्क उपयोग योजना की सीमा से अधिक हो गया।

मुझे पता चला कि आपको wp-settings.php wp-config.php फ़ाइल में आवश्यकता के बाद error_reporting कमांड को शामिल करना होगा :

   require_once( ABSPATH .'wp-settings.php' );
   error_reporting( E_ALL ^ ( E_NOTICE | E_WARNING | E_DEPRECATED ) );

ऐसा करने से आपकी त्रुटि लॉग फ़ाइल में कोई अधिक चेतावनी, नोटिस और न ही पदावनत लाइनों को जोड़ दिया जाता है!

वर्डप्रेस 3.8 पर परीक्षण किया गया है लेकिन मुझे लगता है कि यह हर इंस्टॉलेशन के लिए काम करता है।


9

फ़ाइल wp-config.php में आप निरंतर WP_DEBUG पा सकते हैं। सुनिश्चित करें कि यह गलत पर सेट है।

define('WP_DEBUG', false);

यह वर्डप्रेस 3.x के लिए है।


7

आपको PHP कॉन्फ़िगरेशन फ़ाइल को संपादित करना होगा। लाइन का पता लगाएं

error_reporting = E_ALL

और इसे बदलें:

error_reporting = E_ALL ^ E_DEPRECATED

यदि आपके पास कॉन्फ़िगरेशन फ़ाइल तक पहुंच नहीं है, तो आप इस लाइन को PHP वर्डप्रेस फ़ाइल में जोड़ सकते हैं (शायद हेडर। एफपी):

error_reporting(E_ALL ^ E_DEPRECATED);

इसे जोड़ना ज्यादा बेहतर है wp-config.php। इसे कॉन्फ़िगरेशन सेटिंग्स के साथ संपादित करने का इरादा है।
निलपो

4

मैं इस विधि का उपयोग करते हैं

$errorlevel=error_reporting();
$errorlevel=error_reporting($errorlevel & ~E_DEPRECATED);

इस तरह मैं गलती से किसी चीज की जरूरत नहीं पड़ती


1
इससे आपको कम नियंत्रण मिलता है। आप मान रहे हैं कि वर्तमान में जो कुछ भी कॉन्फ़िगर किया गया है वह सही है। इसे सीधे आवश्यकतानुसार सेट करने के लिए बेहतर है ताकि आपको अतिव्यापी कॉन्फ़िगरेशन न मिले।
निलपो

समझना। हर मामला अलग है।
रियल्टीबो

1
यह फिर भी सबसे अच्छा जवाब है। यह केवल एक ही है जो सीधे सवाल का जवाब देता है: केवल E_DEPRECated को अक्षम करें, बिना किसी दुष्प्रभाव के।
सिग्मोरल

-2

यह त्रुटि तब होती है जब आप अपना php संस्करण बदलते हैं: यह त्रुटि संदेश को दबाने के लिए बहुत सरल है

दबाए गए त्रुटि संदेश को दबाने के लिए, बस नीचे दिए गए कोड को अपनी index.php फ़ाइल में जोड़ें:

init_set ( 'display_errors', झूठी);


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