मैं सीजीआई में फ़ाइल अपलोड के लाइव पार्सिंग प्रदान करने की कोशिश कर रहा हूं और अपलोड होने के बाद स्क्रीन पर डेटा दिखा रहा हूं।अपाचे 2 और सीजीआई - अपाचे को पोस्ट डेटा को बफर करने से कैसे रोकें?
हालांकि, अपाचे 2 सीजीआई एप्लिकेशन को कुछ भी भेजने से पहले पूरा पोस्ट पूरा करने के लिए इंतजार करना चाहता है।
मैं अपने सीजीआई एप्लिकेशन में पोस्ट को बफर करने से रोकने के लिए अपाचे 2 को कैसे मजबूर कर सकता हूं?
संपादित
ऐसा लगता है कि यह वास्तव में सीजीआई कि बफ़र किया जा रहा है के उत्पादन में है। मैंने अपनी प्रगति देखने के लिए डेटा को एक अस्थायी फ़ाइल में स्ट्रीम करना शुरू कर दिया। वह, और मुझे एक और समस्या है।
1) आउटपुट buffered किया जा रहा है। मैंने सफलता के बिना "! Nogzip", "nogzip", और "! Gzip" के लिए SetEnvIf (और बस SetEnv) की कोशिश की है (CGI निर्देशिका परिभाषा के भीतर)।
2) सीपीआई प्रक्रिया समाप्त होने तक अपाचे 2 सीजीआई के आउटपुट को नहीं पढ़ रहा है? मैंने देखा है कि मेरा CGI ऐप (फ्लशिंग या नहीं) लगभग 80K पर "fwrite (..., stdout)" लाइन पर स्थायी रूप से लटक रहा है।
संपादित
ठीक है, फ़ायरफ़ॉक्स मेरे साथ खिलवाड़ कर रहा है। अगर मैं 150 के फाइल भेजता हूं, तो 80 के आसपास कोई सीजीआई लॉकअप नहीं है। अगर फ़ाइल 2 जी है, तो एक लॉकअप है। इसलिए, फ़ायरफ़ॉक्स सर्वर से आउटपुट नहीं पढ़ रहा है, जबकि वह फ़ाइल भेजने की कोशिश कर रहा है ... क्या उस व्यवहार को बदलने के लिए कोई हेडर या वैकल्पिक सामग्री प्रकार है?
संपादित
ठीक है, मुझे लगता है कि बड़ी फ़ाइलों पर सीजीआई उत्पादन लॉकअप वास्तव में महत्वपूर्ण नहीं है। मुझे फाइल गूंजने की जरूरत नहीं है! मैं डिबगिंग एड्स के कारण किसी समस्या को डीबग कर रहा हूं। :)
मुझे लगता है कि यह तब काफी अच्छा काम करता है। धन्यवाद!
अंतिम नोट
बस एक नोट ... कारण मैंने सोचा था कि Apache2 बफरिंग था इनपुट था कि मैं हमेशा एक "सामग्री-लंबाई" वातावरण चर मिल गया के रूप में। मुझे लगता है कि फ़ायरफ़ॉक्स एक मल्टीपार्ट फॉर्म अपलोड की सामग्री लंबाई को सटीक करने के लिए पर्याप्त स्मार्ट है और अपाचे 2 इसे पास कर रहा था। मैंने सोचा कि Apache2 इनपुट को बफर कर रहा था और लंबाई की रिपोर्टिंग कर रहा था।
मैं बहुत सफलता के बिना! Nogzip लाइन की कोशिश कर रहा हूँ। जैसा कि ऊपर बताया गया है, अब भी मुझे स्टडआउट आउटपुट समस्या है। – darron
चूंकि यह सब के बाद आउटपुट समस्या थी, और डिफ्लेट जानकारी काफी उपयोगी है, मैं इसे उत्तर में चिह्नित कर रहा हूं। – darron
हाँ, आउटपुट आवश्यक नहीं था। मैं इसे डीबग के लिए सक्षम कर दूंगा, और यह मुझे थोड़ी सी फिसल गया। पूरी तरह से योजना AJAX प्रतिक्रिया के लिए था। दरअसल, मैं फ़ाइल को पार्स करने और प्रदर्शित करने की कोशिश करने जा रहा हूं क्योंकि इसमें आता है ... बहुत अच्छा दिखना चाहिए। मामूली, लेकिन साफ है। – darron