के बिना display_errors = 0 और log_errors = 1 को सेट करना मेरे नियंत्रण के बाहर कारणों से मैं अपने उत्पादन सर्वर पर php.ini में display_errors = 0 और log_errors = 1 सेट करने में असमर्थ हूं। मुझे पता है कि मैं सभी त्रुटि संदेशों को पूरी तरह से दबाने के लिए error_reporting(0);
सेट कर सकता हूं, लेकिन यह लॉग त्रुटियों और प्रदर्शित त्रुटियों दोनों को प्रभावित करता है। मैं उम्मीद कर रहा था कि रनटाइम पर display_errors = 0 और log_errors = 1 को सेट करने के बराबर होगा। क्या यह संभव है? धन्यवाद।php.ini
php.ini
उत्तर
दोनों PHP_INI_ALL
हैं, इसलिए आप रनटाइम पर केवल ini_set
का उपयोग कर सकते हैं।
ini_set('display_errors', 0);
ini_set('log_errors', 1);
मतलब यह केवल उस सत्र के लिए सेट करने की आवश्यकता होगी, न कि प्रत्येक पृष्ठ पर? – keybored
@keybored no, इसका मतलब है कि यह सेट किया गया है जब कोड की इन दो पंक्तियों को निष्पादित किया जाता है और फिर यह सक्रिय रहता है, जबकि स्क्रिप्ट सक्रिय है, उदा। उस एकल अनुरोध के लिए। सत्रों के साथ कुछ लेना देना नहीं है। – Gordon
ठीक है, बहुत बहुत धन्यवाद। :) – keybored
इस प्रयास करें:
ini_set('display_errors', 0);
ini_set('log_errors', 1);
मुझे डबल दिखाई देता है: एस – erm3nda
आप मॉड्यूल के रूप में PHP का उपयोग कर रहे हैं और इच्छित फ़ोल्डर पर php.ini मुख्य निर्देश है और न ही overrided php.ini उपयोग नहीं कर सकते हैं, और आप इसे php फ़ाइल पर सक्षम नहीं किया जाएगा, आप। htaccess क्षमताओं का उपयोग करने का प्रयास कर सकते हैं।
अपने अनुप्रयोग वाले फ़ोल्डर के शीर्ष पर, साथ .htaccess फ़ाइल डाल: php_flag display_errors 0
केवल php उत्पादन प्रदर्शन लॉग के लिए नहीं लागू करना चाहिए।
वैसे भी, ini_set() के बारे में प्रदान किया गया समाधान केवल उन पृष्ठों पर लागू होगा जिनमें यह शामिल है। नोट: यदि आपके पास शामिल है, तो प्रदर्शन करते समय display_error मान काम करेगा। लेकिन अगर आप इसे सीधे एक्सेस करते हैं तो काम नहीं करेंगे।
शायद आप इसे .htaccess में करना चाहते हैं, इसलिए स्क्रिप्ट से पहले भी पार्सिंग शुरू हो जाती है। यह दृष्टि से भी घातक त्रुटियों को दूर रखेगा। –
यह केवल अपाचे पर मॉड्यूल के रूप में किया जा सकता है। – erm3nda