2012-01-19 17 views
8

पर प्रिंटिंग PHP त्रुटि संदेशों को रोकना मैं PHP 5.3, CentOS 6.2, httpd 2.2.15, नेटबीन 7.0.1 (ftp के माध्यम से दूरस्थ रूप से चल रहा है) का उपयोग कर रहा हूं।ब्राउजर

मैं ब्राउज़र में त्रुटि संदेशों को प्रिंट करना बंद करना चाहता हूं, यह पर्याप्त है कि यह httpd के error_log पर प्रिंट करता है।

मैंने सोचा/कोशिश करके सोचा कि मैं खुद को कैसे संभालने का निर्णय लेता हूं लेकिन यह अभी भी त्रुटि_लॉग और ब्राउज़र दोनों को प्रिंट करता है।

function smic_gettext($phrase){ 

     try{ 
      $tr_text = $this->language_array[$phrase]; 

     } catch(Exception $e){ 
      error_log("Couldn't find any entry in the translation file for ".$phrase.". ".$e); 
      return $phrase; 

     } 

     return $tr_text; 
    } 

इस व्यवहार को रोकने के लिए मुझे कैसे कॉन्फ़िगर करना चाहिए?

मैंने php.ini में display_errors = off और display_errors = 0 को सेट करने का प्रयास किया है। कोई फर्क नहीं पड़ता (मैंने httpd को पुनरारंभ किया था)।

+1

सेट 'display_errors = Off' – goat

+0

** उत्पादन वातावरण **' php.ini' फ़ाइल में अक्षम पीएचपी त्रुटियों/नोटिस, और केवल प्रवेश करना चाहिए था फाइलों को लॉग इन करने के लिए – Jakub

+0

साइड नोट: PHP में त्रुटियां अपवाद नहीं हैं (जैसे जावा में उदाहरण के लिए) लेकिन उन्हें अपवादों में बदलने और तदनुसार संभाल करने का एक तरीका है। देखें http://www.php.net/manual/en/class.errorexception.php – Mchl

उत्तर

9
display_errors = Off 

php.ini में दूँगी आप अपने syslog त्रुटियों रखना , लेकिन ब्राउज़र को कुछ भी नहीं लिखो।

+0

मैं इसे सभी स्क्रिप्ट के लिए करना चाहता हूं इसलिए php.ini को कॉन्फ़िगर करना सबसे अच्छा तरीका प्रतीत होता है। मैंने display_error = off और display_error = 0 को आजमाया, httpd को पुनरारंभ किया लेकिन कोई फर्क नहीं पड़ता। – Nicsoft

+0

आपने "display_error" की कोशिश की, लेकिन कीवर्ड "display_errors" –

+0

इसके बारे में क्षमा करें, यह मेरी टिप्पणी में केवल एक टाइपो नहीं था, मैंने display_errors का उपयोग किया था। – Nicsoft

3

कोशिश जोड़ने अपनी स्क्रिप्ट के शीर्ष पर निम्नलिखित:

ini_set('display_errors',0); 

यह किसी से रिपोर्टिंग त्रुटि सेट और सर्वर php.ini सेटिंग्स ओवरराइड करना चाहिए (जो कभी कभी अपने error_reporting उपेक्षा (0))

+0

error_reporting (0) फ़ाइल में लॉगिंग को अक्षम कर देगा – Mchl

+0

सेटिंग त्रुटि_ रिपोर्टिंग 0 को भी कोई त्रुटि लॉग नहीं होगी। मैं इसे उत्पादन वातावरण में सलाह नहीं दूंगा। 'Ini_set ('display_errors', 0) सेट करना;' पर्याप्त होना चाहिए। – klennepette

+0

एमसीएल और क्लेनेपेट, सहायता के लिए धन्यवाद। Nicsoft, वे सही हैं, बस ini_set ('display_errors', 0); नौकरी करना चाहिए – AlexC

1

देखें display_errors निर्देश

http://www.php.net/manual/en/errorfunc.configuration.php

+0

मैं इसे सभी स्क्रिप्ट के लिए करना चाहता हूं इसलिए php.ini को कॉन्फ़िगर करना सबसे अच्छा तरीका प्रतीत होता है। मैंने display_errors = off और display_errors = 0 को आजमाया, httpd को पुनरारंभ किया लेकिन कोई फर्क नहीं पड़ता। – Nicsoft

+0

यह 'display_errors'' display_error' नहीं है – Mchl

+0

दरअसल, मैंने यही किया, मेरी टिप्पणी अपडेट की। – Nicsoft

7

Wheter या PHP त्रुटियों भौंह के लिए नहीं भेजा जाता है ser php.ini सेटिंग द्वारा निर्धारित किया जाता है: display_errors। आउटपुट होने से बचने के लिए इसे Off पर सेट करें। इस फ़ाइल में आमतौर पर /etc/php.ini या

+0

@ डेवआरैंडम ओपी ने उल्लेख किया कि वह सेंटोस पर है और सेंटोस पर यह आमतौर पर पथ है। – Oldskool

+0

ओह आप सही हैं। क्षमा करें, मेरा बुरा ... +1 :-) – DaveRandom

+0

मैं सभी स्क्रिप्ट के लिए ऐसा करना चाहता हूं इसलिए php.ini को कॉन्फ़िगर करना सबसे अच्छा तरीका प्रतीत होता है। मैंने display_error = off और display_error = 0 को आजमाया, httpd को पुनरारंभ किया लेकिन कोई फर्क नहीं पड़ता। – Nicsoft

3

तहत /etc/php5/php.ini आप off या 0 को php.ini display_errors की स्थापना को बदलने की जरूरत है। आप अपने वास्तविक php.ini में यह कर सकते हैं, एक .htaccess फ़ाइल के साथ, या स्क्रिप्ट के शुरू में इस फोन करके:

ini_set('display_errors', '0'); 
+0

धन्यवाद, इससे बहुत मदद मिली। – JugglingBob

0

FWIW देखें जबकि display_errors = off सही config फाइल पंक्ति के रूप में अन्य लोगों ने कहा, DreamHost पर (nd संभवतः अन्य प्रतिष्ठानों), यह

$HOME/.php/phprc

php से

बल्कि में चला जाता है .ini (जो भी काम कर सकता है, लेकिन DreamHost - और, फिर, संभवतः अन्य - phprc का समर्थन करता है)।

1

यदि त्रुटि केवल एक पंक्ति में दिखाई देती है तो उस पंक्ति को शुरू करने के लिए साइन @ जोड़ने के साथ त्रुटि प्रदर्शन को रोकना संभव है।

@YOUR_CUSTOM_COMMAND

उदाहरण:

@file_get_contents('custom_file.txt'); 
संबंधित मुद्दे