2011-01-19 11 views
6

मुझे इस पर कहीं भी एक अच्छा जवाब नहीं मिल रहा है। अगर मैं आउटपुट बफरिंग चला रहा हूं, और die() निकाल दिया गया है, तो क्या यह ob_end_flush() को भी लात मारता है?मर जाता है() एक ob_end_flush() करते हैं?

+2

स्क्रिप्ट समाप्त होने पर मरने वाले बफर देखते हैं (मर जाते हैं या मरते हैं, सीएलआई या HTTP)। मुझे नहीं पता कि यह दस्तावेज और/या कॉन्फ़िगर करने योग्य है या नहीं; मैं मानता हूं कि मैन्युअल में इसका स्पष्ट संदर्भ ढूंढना दिलचस्प होगा। –

उत्तर

12

हां यह करता है। जब भी स्क्रिप्ट सुन्दरता से समाप्त होती है, तो बफर खाली हो जाएंगे। केवल गैर-अनुग्रहपूर्ण अंत होते हैं यदि यह विभाजन दोष या यदि यह मारे गए (सिग्नल 9 SIG_KILL)। एकमात्र जगह die() प्रक्रिया की हार्ड-हत्या है यदि आप इसे register_shutdown_function के अंदर कॉल करते हैं (लेकिन शटडाउन फ़ंक्शन कहने से पहले बफर फ़्लश किए जाते हैं, इसलिए वहां कोई समस्या नहीं है)। कुछ और जानकारी के लिए Connection Handling देखें ...

संबंधित मुद्दे