मैं एक बहुत अजीब बग प्रतीत होता है कि ट्रैक करने की कोशिश कर रहा हूँ। मेरे पास एक ऐसा एप्लीकेशन है जो लगभग निम्नानुसार संरचित है:क्या PHP स्क्रिप्ट समाप्त हो सकती है भले ही set_time_limit (0) सेट हो?
set_time_limit(0);
register_shutdown_function('logScriptCompletion');
function logScriptCompletion() {
log('script completed');
}
log('script started');
// do some calculations periodically printing out progress
स्क्रिप्ट को चलाने में कुछ समय लग सकता है। वांछित व्यवहार स्क्रिप्ट के अंत में कंप्यूटिंग जारी रखने के लिए है, भले ही स्टॉप बटन मारा गया हो या कनेक्शन गिरा दिया गया हो। 99% बार यह अपेक्षित के रूप में काम करता है।
एक समय में (शायद हर कुछ महीनों/हजारों अनुरोधों में से एक बार) गणना पूरी तरह से नहीं चलती है लेकिन दोनों "स्क्रिप्ट शुरू" और "स्क्रिप्ट पूर्ण" लॉग हैं और कोई अन्य त्रुटि घातक या अन्यथा नहीं है स्पष्ट (मेरे पास पूर्ण लॉगिंग सक्षम है)।
मुझे संदेह है कि सर्वर को छोड़ने के कनेक्शन के साथ इसका कुछ संबंध हो सकता है लेकिन इसकी पुष्टि करने के लिए कोई ठोस सबूत नहीं है। मैं लिनक्स पर अपाचे 2/PHP 5.2.6 चला रहा हूं।
क्या किसी और ने भी इसी तरह की समस्या देखी है और इस पर कुछ प्रकाश डालने में मदद कर सकते हैं?
दिलचस्प। मेरे पास यह सेट नहीं था लेकिन स्क्रिप्ट बटन को मारने के बाद स्क्रिप्ट निष्पादित जारी रहेगी। यह बफरिंग के तरीके के कारण हो सकता है ... सुझाव के लिए धन्यवाद, मैं इसका परीक्षण करूंगा। –