PHP घातक त्रुटियों से पकड़ने और पुनर्प्राप्त करने के लिए पारंपरिक साधन प्रदान नहीं करता है। ऐसा इसलिए है क्योंकि आम तौर पर एक घातक त्रुटि के बाद प्रसंस्करण को पुनर्प्राप्त नहीं किया जाना चाहिए। एक आउटपुट बफर से मेल खाते स्ट्रिंग (मूल पोस्ट द्वारा बताई गई तकनीक PHP.net पर वर्णित तकनीक) निश्चित रूप से बीमार है। यह बस अविश्वसनीय है।
एक त्रुटि हैंडलर विधि के भीतर से मेल () फ़ंक्शन को कॉल करना समस्याग्रस्त साबित होता है। यदि आपके पास बहुत सी त्रुटियां थीं, तो आपका मेल सर्वर काम के साथ लोड हो जाएगा, और आप अपने आप को एक गर्न इनबॉक्स के साथ पा सकते हैं। इससे बचने के लिए, आप समय-समय पर त्रुटि लॉग को स्कैन करने और तदनुसार सूचनाएं भेजने के लिए क्रोन चलाने पर विचार कर सकते हैं। आप सिस्टम मॉनिटरिंग सॉफ्टवेयर जैसे कि नागियोस को भी देखना पसंद कर सकते हैं ।
शटडाउन फ़ंक्शन को पंजीकृत करने के बारे में बिट से बात करने के लिए:
यह सच है कि आप शटडाउन फ़ंक्शन को पंजीकृत कर सकते हैं, और यह एक अच्छा जवाब है।
यहाँ मुद्दा यह है कि हम आम तौर पर घातक त्रुटियों से उबरने का प्रयास नहीं करना चाहिए, विशेष रूप से अपने आउटपुट बफर के खिलाफ एक नियमित अभिव्यक्ति का उपयोग करके नहीं। मैं स्वीकार किए गए जवाब का जवाब दे रहा था , जो php.net पर एक सुझाव से जुड़ा हुआ है जिसे बाद में बदल दिया गया है या हटा दिया गया है।
यह सुझाव अपवाद हैंडलिंग के दौरान आउटपुट बफर के खिलाफ एक रेगेक्स का उपयोग करने के लिए था, और एक घातक त्रुटि के मामले में (जो भी कॉन्फ़िगर त्रुटि पाठ से आप उम्मीद कर सकते हैं के खिलाफ मिलान द्वारा पता लगाया गया है), किसी प्रकार की वसूली या निरंतर प्रसंस्करण करने का प्रयास करें। यह एक अनुशंसित अभ्यास नहीं होगा (मेरा मानना है कि मैं मूल सुझाव क्यों नहीं पा सकता हूं, मैं भी इसे देख रहा हूं, या php समुदाय ने इसे शूट किया है)।
यह ध्यान देने योग्य हो सकता है कि PHP के अधिक हाल के संस्करणों (5.1 के आसपास) शटडाउन फ़ंक्शन को कॉल करने से पहले लगता है, इससे पहले कि आउटपुट बफ़रिंग कॉल बैक किया जाए। संस्करण 5 और उससे पहले के संस्करण में, यह क्रम उल्टा था (शटडाउन फ़ंक्शन के बाद आउटपुट बफ़रिंग कॉलबैक था)। इसके अलावा, चूंकि 5.0.5 (जो प्रश्नकर्ता के संस्करण 5.2.3 से बहुत पहले है), एक पंजीकृत शटडाउन फ़ंक्शन को कॉल करने से पहले ऑब्जेक्ट को अच्छी तरह से अनलोड किया जाता है, इसलिए आप अपनी इन-मेमोरी ऑब्जेक्ट पर भरोसा नहीं कर पाएंगे कुछ भी।
इसलिए शटडाउन फ़ंक्शन को पंजीकृत करना ठीक है, लेकिन एक शटडाउन फ़ंक्शन द्वारा किए जाने वाले कार्यों का प्रकार संभवतः मुट्ठी भर कोमल शटडाउन प्रक्रियाओं तक सीमित है।
यहां महत्वपूर्ण टेक-ऑफ केवल ज्ञान के कुछ शब्द हैं जो इस प्रश्न पर ठोकर खाते हैं और मूल रूप से स्वीकृत उत्तर में सलाह देखते हैं। अपना आउटपुट बफ़र regex न करें।