2013-06-19 3 views
13

से बाहर मैं एक पुराने डेटाबेस php सरणी को एक नए डेटाबेस में संसाधित कर रहा हूं। डेटा .php फ़ाइलें लगभग 220 एमबी बड़ी हैं।ini_set ("memory_limit", "-1") का उपयोग करना और अभी भी स्मृति

मैं स्क्रिप्ट में इन पंक्तियों डाला है इतना है कि यह ठीक चलाना चाहिए:

// The exports made by PHPMYADMIN, exported as PHP-Array 
require_once 'export/tx_ttproductsv2_products.php'; 
require_once 'export/tx_ttproductsv2_keyword.php'; 
require_once 'export/tx_ttproductsv2_keywords_in_products.php'; 
require_once 'export/tx_ttproductsv2_typebook.php'; 
require_once 'export/tx_ttproductsv2_typegospel7.php'; 
require_once 'export/tx_ttproductsv2_typemedia.php'; 

जब स्क्रिप्ट उन्हें आवश्यकता के लिए कोशिश कर रहा है:

ini_set("memory_limit", "-1"); 
set_time_limit(0); 

यह मैं कैसे उत्पादों में शामिल हैं है मुझे यह त्रुटि मिलती है:

PHP Fatal error: Out of memory (allocated 880541696) (tried to allocate 469762048 bytes) in ......

मुझे एक स्थानीय EasyPHP स्थापना x64 Win 7 SP1 पर चल रही है। मुझे 6 जीबी मेमोरी है, इंटेल i5।

मैं स्मृति त्रुटि के बिना पूरी स्क्रिप्ट चलाने के लिए PHP कैसे प्राप्त कर सकता हूं?

+0

'upload_max_filesize' और 'post_max_size' बढ़ाने की कोशिश करें? –

+0

@ खवरज़ेशन, मैं चीजें अपलोड नहीं करता हूं? या क्या मैं यह गलत देख रहा हूँ? – Mathlight

+0

PHPMYADMIN द्वारा किए गए निर्यात एक फ़ाइल या क्या है? –

उत्तर

11

मेमोरी सीमा ओएस से आता है, न कि PHP से।

आपकी स्क्रिप्ट आवंटित 800MB और आगे 500MB आवंटित करने के लिए 64 बिट पीएचपी साथ 64 बिट ओएस पर स्क्रिप्ट चलाने के लिए

कोशिश कर रहा है।

+0

शायद यह बहुत ठीक हो जाएगा, लेकिन मैं अब इसका परीक्षण करने में सक्षम नहीं हूं (मुझे इसे तुरंत काम करने की ज़रूरत है)। – Mathlight

+1

आपके लिए डेटा लाने और स्मृति में सभी को लोड करने और फिर प्रसंस्करण के बजाय इसे घटाने के लिए सबसे अच्छा समाधान है। –

+0

मुझे पता है, मैंने इसे 3 भागों में विभाजित कर दिया है (अभी कोडिंग), और इसे ठीक से काम करना चाहिए ... धन्यवाद और विचारों के लिए धन्यवाद;) – Mathlight

संबंधित मुद्दे