मैं एक PHP स्क्रिप्ट कैसे लिखूं जो चल रहा है, कुछ पाठ को फ़्लश करने और HTTP अनुरोध को समाप्त करने के बाद भी? क्या यह संभव है?HTTP अनुरोध समाप्त करने के बाद एक PHP स्क्रिप्ट चलाना जारी रख सकता है?
उत्तर
हमेशा के लिए PHP अनुप्रयोग चलाने के लिए या php जब तक समाप्त हो जाता है
ignore_user_abort(true);
set_time_limit(0);
असुरक्षित लगता है यदि पृष्ठ अक्सर अनुरोध किया जाता है, तो सर्वर में बड़ी संख्या में प्रक्रियाएं हो सकती हैं जो कुछ भी नहीं कर रही हैं। – rsman
आप ignore_user_abort
विन्यास निर्देश द्वारा रुचि हो सकती है, और/या ignore_user_abort
समारोह:
सेट करती है कि एक ग्राहक डिस्कनेक्ट कारण चाहिए एक स्क्रिप्ट निरस्त किया जाना है।
इस का उपयोग करते हुए आप:
- पेज
flush
और/याob_flush
- कॉल
ignore_user_abort
साथ, ब्राउज़र - फ्लश उत्पादन के लिए भेजा जाना है का हिस्सा उत्पन्न (या तो अब या पहले)
- कुछ और काम करें
उपयोगकर्ता के ब्राउज़र शायद अभी भी "इंतज़ार कर" या "लोड हो रहा है" का संकेत देगा, लेकिन पृष्ठ की सामग्री लोड किया जाएगा और दिखाया गया है - और उपयोगकर्ता प्रेस "बंद करो", अपनी स्क्रिप्ट इसके निष्पादन जारी रखना चाहिए, भले ही।
अधिक जानकारियां के लिए, वहाँ है कि समारोह के मैनुअल के पृष्ठ पर एक उदाहरण है - और आप इस लेख पर एक नज़र ले जा सकते हैं: How to Use ignore_user_abort()
to Do Processing Out of Band
बेशक , जबकि इस कुछ प्रकाश की प्रक्रिया के लिए इस्तेमाल किया जा सकता (तरह एक पृष्ठ के अंत में सामान "सफाई", जबकि उपयोगकर्ता के रूप में तेजी से संभव के रूप में यह प्रदर्शित), आप अभी भी max_execution_time
और पसंद के आधार पर सीमित कर दिया जाएगा।
तो, यह एक समाधान है कि लंबी/भारी गणना के लिए इस्तेमाल किया जाना चाहिए नहीं है।
- 1. क्या एक PHP स्क्रिप्ट ब्राउज़र अनुरोध को HTTP अनुरोध खत्म करने में सोच सकता है?
- 2. पेज लौटाए जाने के बाद एक php स्क्रिप्ट चलाना जारी रखें
- 3. एक सतत PHP स्क्रिप्ट कैसे चलाना है?
- 4. समवर्ती PHP स्क्रिप्ट चलाना
- 5. सिग्नल को संभालने के बाद एक सी प्रोग्राम निष्पादन जारी रख सकता है?
- 6. आईआईएस एक्सप्रेस को समाप्त डिबगिंग के बाद कैसे चलाना है?
- 7. node.js http अनुरोध को कैसे समाप्त करें
- 8. PHP SOAP HTTP अनुरोध
- 9. डीबगर प्रक्रिया को जारी नहीं रख सकता है। डीबगर
- 10. HTTP अनुरोध को कैसे पता चलाना अजाक्स से है?
- 11. क्रॉन नौकरी के रूप में php स्क्रिप्ट चलाना - टाइमआउट समस्याएं?
- 12. PHP में AJAX अनुरोध का जवाब देने के बाद प्रक्रिया को कैसे जारी रखें?
- 13. एक HTTP अनुरोध
- 14. PHP PUT HTTP अनुरोध कोल्डफ्यूजन
- 15. कितना समवर्ती http अनुरोध संभाल सकता है
- 16. एक स्क्रिप्ट के भीतर एक मणि स्थापित करने के बाद, मैं मणि कैसे लोड करूं?
- 17. PHP स्क्रिप्ट टाइम्स 45 सेकंड के बाद
- 18. पृष्ठभूमि प्रक्रिया के रूप में कमांड लाइन से PHP स्क्रिप्ट चलाना
- 19. Symfony2: एक HTTP अनुरोध
- 20. एक HTTP अनुरोध
- 21. प्रतिक्रिया अनुरोध के बिना PHP अनुरोध यूआरएल
- 22. प्रोग्रामेटिक रूप से जारी करने के अनुरोधों के दौरान उपयोग करने के लिए संवेदनशील HTTP POST टाइमआउट मान?
- 23. क्या आवेदन अनुरोध समाप्त होने के बाद ndb async निष्पादित करने की गारंटी है?
- 24. टेलनेट एक http अनुरोध
- 25. क्या HTTP कनेक्शन मरने पर अपाचे द्वारा निष्पादित एक PHP स्क्रिप्ट है?
- 26. एक http अनुरोध
- 27. HTTP "समाप्त हो जाता है" हैडर क्रोम
- 28. HTTP, 408 अनुरोध टाइमआउट
- 29. PHP: जाओ स्क्रिप्ट से पहले उत्पादन समाप्त हो गया है
- 30. यह समाप्त होने के बाद इनपुटस्ट्रीम को बंद करने का क्या अर्थ हो सकता है?
[पीएचपी पृष्ठभूमि प्रक्रियाओं] से जवाब देखें (http://stackoverflow.com/questions/265073/php-background-processes) – drfloob