2008-11-13 15 views
23

में स्क्रीन पर प्रदर्शित होने से mysql त्रुटियों को कैसे बंद करें, हालांकि त्रुटि_ रिपोर्टिंग 0 पर सेट है, डेटाबेस त्रुटियों को अभी भी स्क्रीन पर मुद्रित किया जा रहा है। क्या डेटाबेस सेटिंग रिपोर्टिंग अक्षम करने के लिए कहीं भी कोई सेटिंग बदल सकती है? यह कोडइग्निटर v1.6.xकोडइग्निटर

EDIT संपादित करें: पुन: त्रुटियों को ठीक करना - उम, हाँ। मैं त्रुटियों को ठीक करना चाहता हूं। मुझे अपने त्रुटि लॉग से त्रुटि नोटिस मिलती हैं, न कि मेरे आगंतुकों को उनकी स्क्रीन पर मुद्रित करने के लिए। इससे कोई भी मदद नहीं करता है, और मेरी प्रणाली की सुरक्षा को नुकसान पहुंचाता है।

EDIT 2: त्रुटि_ रिपोर्टिंग 0 पर सेट करना कोडइग्निटर की अंतर्निहित त्रुटि लॉगिंग क्लास को त्रुटि लॉग में लिखने से प्रभावित नहीं करता है।

उत्तर

5
  • आप नहीं 0 error_reporting बदलने के लिए, क्योंकि वह भी से किया जा रहा लॉग इन त्रुटियों को दबाने जाएगा चाहते हैं।

  • बजाय आप के लिए 0

display_errors बदलना चाहिए तुम क्यों हो रही त्रुटियों हालांकि प्रदर्शित किए जाते हैं यह स्पष्ट नहीं होता, संभालने error_reporting है वास्तव में 0. शायद ढांचे इन त्रुटियों को हैंडल

3

आप एप्लिकेशन निर्देशिका के तहत /errors/db_error.php फ़ाइल को संपादित कर सकते हैं - यह टेम्पलेट डीबी त्रुटियों के लिए शामिल है।

हालांकि, आपको वास्तव में त्रुटियों को ठीक करना चाहिए।

config/database.php: में

// ['db_debug'] TRUE/FALSE - Whether database errors should be displayed. 
तो

:

$db['default']['db_debug'] = FALSE; 

... अक्षम करना चाहिए

59

जवाब मिले।

+0

उपयोगी एक दोस्त ......... – mrsrinivas

+5

मैं आलसी और भुलक्कड़ तो यह '$ db [ 'कर रहा हूँ डिफ़ॉल्ट '] [' db_debug '] = (ENVIRONMENT ==' विकास ')? सही: गलत; ' –

10

इयान के जवाब के अलावा, अस्थायी रूप से निष्क्रिय करने के लिए त्रुटि संदेश:

$db_debug = $this->db->db_debug; 
$this->db->db_debug = false; 

// Do your sketchy stuff here 

$this->db->db_debug = $db_debug; 
+0

आप रॉक मैन। :) – saadk