2008-11-25 9 views
7

मैं PHP में एक साधारण एप्लिकेशन लिख रहा हूं जिसे कभी-कभी MySQL अपडेट का एक काफी गहन सेट करने की आवश्यकता होती है। मैं विशेष रूप से उपयोगकर्ता के लिए देरी का कारण नहीं बनना चाहता, इसलिए मैं pcntl_fork() का उपयोग करने के बारे में सोच रहा हूं।क्या पीएचपी/अपाचे में फोकस करने की प्रक्रिया एक अच्छा विचार है?

मुझे यकीन नहीं है कि यह वास्तव में कैसे काम करता है: क्या माता-पिता की प्रक्रिया समाप्त होने के बाद बाल प्रक्रिया जारी रहेगी? क्या माता-पिता की प्रक्रिया खत्म हो जाएगी, और बच्चे की प्रक्रिया पूरी होने से पहले उपयोगकर्ता का पेज लोड पूरी तरह से पूरा हो जाएगा?

दूसरे शब्दों में, क्या यह एक PHP स्क्रिप्ट (अपाचे के तहत चल रहा है) रखने का एक सुरक्षित तरीका है उपयोगकर्ता को देरी किए बिना कुछ समय लेने वाले अपडेट करते हैं, या क्या मुझे अपने उपयोगकर्ताओं से कुछ देरी करने के लिए कहा जाना चाहिए?

+0

कृपया प्रश्न शीर्षक में इसे स्पष्ट करें जिसका मतलब है कि आप किसी प्रक्रिया को रोक रहे हैं। मैंने पहले सोचा था कि आप परियोजना को फोर्क करना चाहते हैं। –

+0

phjr के साथ सहमत हैं। क्या कोई शीर्षक संपादित कर सकता है? – OIS

उत्तर

3

अभिभावक प्रक्रिया समाप्त हो जाएगी, उपयोगकर्ता का पृष्ठ पूरी तरह से लोड हो जाएगा, बाल प्रक्रिया जारी रहेगी, और उपयोग की कोई प्रतिक्रिया नहीं होगी कि बाल प्रक्रिया सफलतापूर्वक समाप्त हो गई है या नहीं।

1

शायद वहां से कोई भी आपको विस्तार से बता सकता है कि जब आप अपाचे के तहत कॉल करते हैं तो क्या होता है लेकिन संभावना है कि आपको ऐसे उत्तर मिलेंगे जो आपके द्वारा उपयोग किए जा रहे अपाचे और PHP के संयोजनों और संयोजनों के आधार पर हमेशा सत्य नहीं होते हैं। आपको AJAX का उपयोग करना चाहिए और दो अनुरोध हैं। पृष्ठ के साथ एक बार जवाब दें जो कहता है कि आप क्या कर रहे हैं और फिर अजाक्स कॉल के साथ स्थिति के लिए दूसरा अनुरोध और जहां आप वास्तव में काम करते हैं।

0

यदि PHP अपाचे के तहत चलाता है तो mod_php मॉड्यूल फोर्किंग बिल्कुल काम नहीं करेगा, आपको यह चेतावनी मिलेगी कि फ़ंक्शन * pcntl_fork() * अपरिभाषित है। उस स्थिति में कमांड लाइन का उपयोग करके एक अलग PHP नौकरी चलाने के लिए exec() का उपयोग करने के लिए एक अच्छा समाधान है।

0

मुझे लगता है कि यह एक बुरा विचार है। मैंने इसी तरह की चीजें की हैं, और अपाचे ने माता-पिता के आउटपुट को अपने बच्चे को रीडायरेक्ट किया है। यह आपका ब्राउज़र बाल प्रक्रिया में से एक की जानकारी दिखाता है।
अधिक जानकारी के लिए this पर क्लिक करें
आशा है कि यह आपकी मदद करे।