2010-10-05 13 views
6

में त्रुटि_रपोर्टिंग मोड को कैसे बल दें मेरे पास कुछ कोड है जो आयनक्यूब से एन्क्रिप्ट किया गया है और यह < PHP 5.3 के लिए भी लिखा गया है। बहिष्कृत कोड का एक टन है, जो अभी भी काम करेगा, लेकिन साइट पर त्रुटि संदेश हैं।PHP 5.3

क्या E_ALL^​​E_DEPRECATED या समान में त्रुटि_ रिपोर्टिंग को बाहरी रूप से मजबूर करने का कोई तरीका है? मुझे यकीन है कि कोड में वे किसी कारण से E_ALL पर हार्डकोडिंग कर रहे हैं।

उत्तर

1

PHP 5.2 पर वापस घुमाया गया और समस्या से परहेज किया।

1

display_errors अक्षम करें और उन्हें इसके बजाय फ़ाइल में लॉग करें। यह किसी भी उत्पादन वेबसाइट के लिए मानक प्रक्रिया है।

अपाचे कॉन्फ़िगरेशन फ़ाइल में, php_admin_value error_reporting X को उपयोगकर्ता कोड द्वारा ओवरराइड करना असंभव हो जाना चाहिए, जहां X वह पूर्णांक मान है जो आप चाहते हैं।

इसके अलावा, set_error_handler() यदि आप कुछ रनटाइम चेक करना चाहते हैं तो इसका उपयोग किया जा सकता है।

+0

दुर्भाग्य से यह मेरे लिए काम नहीं कर रहा है। मैंने वर्चुअलहोस्ट सेक्शन में http5.conf में php_admin_value error_reporting 22519 (जो E_ALL और ~ E_NOTICE और ~ E_DEPRECATED का int मान) जोड़ने का प्रयास किया है। हालांकि मैं इसे काम कर देख सकता हूं। यदि मैं phpinfo() चलाता हूं तो त्रुटि_ रिपोर्टिंग स्थानीय मान में निर्दिष्ट के रूप में दिखाई देती है। ऐसा लगता है कि त्रुटि_ रिपोर्टिंग फ़ंक्शन php_admin_value ओवरराइड करता है (जहां ini_set नहीं कर सकता)। – Noodles

+1

क्या आप उन्हें 'set_error_handler()' से फंसाने में सक्षम हैं? – Matthew

+0

मुझे लगता है कि मैं जिस एप्लिकेशन का उपयोग कर रहा हूं वह पहले से ही एक त्रुटि हैंडलर सेट करता है। मैं PHP 5.2 पर वापस रोलिंग समाप्त हो गया ताकि आवेदन काम करेगा। फिर भी आपकी सहायता के लिए धन्यवाद। – Noodles