मैंने लैरवेल में एक एपीआई बनाया है, जो उपयोगकर्ताओं को ज़िप संग्रह अपलोड करने की अनुमति देता है जिसमें छवियां होती हैं।एकाधिक समवर्ती बड़े अपलोड हैंडलिंग
एक बार एक संग्रह अपलोड होने के बाद इसे S3 पर भेजा जाता है और फिर संसाधित होने के लिए दूसरी सेवा द्वारा उठाया जाता है।
मुझे लगता है कि बड़े अभिलेखागार के साथ PHP अपनी स्मृति सीमा को मारता रहता है। मुझे पता है कि मैं सीमा बढ़ा सकता हूं लेकिन यह एक फिसलन ढलान जैसा लगता है, खासकर जब मैं कल्पना करता हूं कि बड़ी फाइलें अपलोड करने वाले कई उपयोगकर्ता हैं।
मेरा वर्तमान समाधान पूरी तरह से मेरे सर्वर से गुजरना है और क्लाइंट को सीधे S3 पर अपलोड करने की अनुमति देना है। लेकिन यह बहुत असुरक्षित और स्पैमिंग/डीडीओएसिंग के लिए अतिसंवेदनशील लगता है।
मुझे लगता है कि मैं वास्तव में क्या उम्मीद कर रहा हूं इस बारे में एक चर्चा है कि इसे सुंदर तरीके से कैसे संभाला जा सकता है।
क्या इस तरह की प्रसंस्करण/समरूपता के लिए कोई भाषा अधिक उपयुक्त है? मैं आसानी से कुछ और करने के लिए अपलोडिंग प्रक्रिया को जन्म दे सकता था।
क्या एस 3 के बारे में मेरे मुद्दे बेकार हैं? मुझे पता है कि अनुरोध पर हस्ताक्षर किए जाने की आवश्यकता है लेकिन उत्पन्न टोकन पुन: प्रयोज्य हैं, इसलिए वे शोषक हैं।
संसाधन ऑनलाइन एनजीआईएनएक्स के बारे में बेहतर समाधान के रूप में बोलते हैं, क्योंकि इसमें एक अपलोड मॉड्यूल है जो सीधे फाइल पर अपलोड लिखता है, क्योंकि अपाचे स्मृति में बहुत कुछ करने की कोशिश कर रहा है (इस बारे में 100% निश्चित नहीं है)।
यदि मैं ईमानदार हूं तो मैं पूरी PHP अपलोड प्रक्रिया के बारे में बहुत अस्पष्ट हूं। क्या अनुरोध सीधे स्मृति में संग्रहीत है? यानी दस 50 एमबी अपलोड्स मेरे 500 एमबी रैम
इस http://stackoverflow.com/questions/864570/very-large-uploads-with-php – Victory
पर अपलोड की गई एक अच्छी चर्चा हार्ड ड्राइव पर डिफ़ॉल्ट रूप से संग्रहीत की जाती है (उदाहरण के लिए एक फ़ाइल में अस्थायी फ़ोल्डर)। मैं बाकी के बारे में निश्चित नहीं हूँ। अच्छा सवाल, यद्यपि! – Cully
यह एक और अच्छा संसाधन हो सकता है: http://stackoverflow.com/questions/12609451/forward-a-file-upload-stream-to-s3-through-iteratee-with-play2-scala – Cully