2015-05-14 16 views
9

में मेमोरी त्रुटि से बाहर मैं वर्तमान में सिम्फनी प्रोजेक्ट (कॉन्स वर्जन = '2.5.10') पर काम कर रहा हूं और मैं xampp का उपयोग कर रहा हूं। PHP संस्करण 5.5.1 9 है।सिम्फनी

OutOfMemoryException: Error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 3358976 bytes) in C:\xampp\htdocs\Editracker\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\Profiler\FileProfilerStorage.php line 153

और हर मैं पेज यह अलग स्मृति आकार देता ताज़ा:

मेरे समस्या मैं कोई त्रुटि मिलती है हर मैं अपने देव वातावरण चलाया जाता है। मुझे यह भी लगता है कि यह भी कारण है कि मेरे देव पर्यावरण को पृष्ठ को रीफ्रेश करने से पहले एक लंबा समय लगता है।

आपकी सहायता की सराहना की जाती है।

php.ini

memory_limit= '256M'

मैं अपने स्मृति सीमा को बढ़ाने की कोशिश की, अभी भी यह स्मृति सीमा

+0

त्रुटि संदेश बहुत स्पष्ट है। आपका कोड बहुत अधिक रैम खाता है और आपको पता लगाना होगा कि कौन सा हिस्सा ओओएम का कारण बनता है। –

+0

संभावित डुप्लिकेट [33554432 बाइट्स के अनुमोदित मेमोरी आकार को समाप्त कर दिया गया है (43148176 बाइट आवंटित करने का प्रयास किया गया है) (http://stackoverflow.com/questions/415801/allowed-memory-size-of-33554432-bytes-exhausted-tried -to-allocate-43148176-byte) –

+0

@ माइकल: मैंने पहले ही कोशिश की है लेकिन फिर भी यह मुझे स्मृति सीमा के बारे में एक त्रुटि देता है। मुझे क्या करना चाहिए? – aizele

उत्तर

14

Symfony में सबसे अधिक उत्सुक घटक एक प्रोफाइलर है के बारे में एक त्रुटि देता है। आप कुछ विशेष कार्यों में प्रोफाइलर की जरूरत नहीं है, तो आप कोड के माध्यम से इसे निष्क्रिय कर सकते हैं:

framework: 
    profiler: 
     collect: false 
+0

मुझे इसे वास्तव में कहां सेट करना चाहिए? क्या यह config.yml में है या config_dev.yml में है? क्षमा करें, मैं वास्तव में उलझन में हूँ। – aizele

+0

आपका config.dev आयात 'config.yml'। और इसलिए यह वही है। लेकिन मैं आपको इसे अपने dev-config में रखने की सलाह दूंगा। –

+0

मैं कोशिश करता हूं और मुझे एक त्रुटि मिली: "[सिम्फनी \ घटक \ कॉन्फ़िगरेशन \ परिभाषा \ अपवाद \ अवैध कॉन्फ़िगरेशन अपवाद] अज्ञात विकल्प" ढांचे "के तहत" संग्रह " – aizele

3

आप या तो अक्षम सिम्फोनी प्रोफाइलर (मैं डॉन ':

if ($this->container->has('profiler')) 
{ 
    $this->container->get('profiler')->disable(); 
} 

तुम भी config में वैश्विक पैरामीटर सेट कर सकते हैं मुझे लगता है कि यह वही है जो आप जानते हैं) या अपने php.ini में -1 के साथ असीमित सीमा सेट करें और अपाचे को पुनरारंभ करें।

memory_limit = -1 
+0

मैंने कोशिश की कि स्मृति त्रुटि से बाहर चला गया है लेकिन इस "FatalErrorException: त्रुटि: 30 सेकंड का अधिकतम निष्पादन समय C: \ xampp \ htdocs \ Editracker \ vendor \ symfony \ symfony \ src \ Symfony \ component \ Http कर्नेल \ DataCollector \ LoggerDataCollector.php लाइन 101 " – aizele

+0

इसे भी आज़माएं:' max_execution_time = 0' – BentCoder

+0

यदि यह हल नहीं करता है तो आप बेहतर आवेदन बोतल-गर्दन को अपने आवेदन में खोजने का प्रयास करते हैं। आपको एक बड़ी समस्या हो सकती है। – BentCoder

1

स्मृति सीमा केवल Symfony देव वातावरण के अंतर्गत पहुँच की जा रही है अगर मैं जोड़ने सुझाव है web/app_dev.php

ini_set('memory_limit', '-1'); 

इस तरह के लिए निम्न आप स्मृति का एक समझदार राशि के साथ उत्पादन का परीक्षण करने के जारी रख सकते हैं । Php.ini के माध्यम से पूरे वातावरण को संशोधित करने से लाइन में एक त्रुटि छिप सकती है।

1

मैंने एक्सडीबग स्थापित करने वाले ट्विग डीबग पर मेमोरी त्रुटि से बाहर हल किया।

क्योंकि टहनी आंतरिक पीएचपी var_dump समारोह का उपयोग करता है, स्थापित XDebug एक अच्छा विचार है, क्योंकि यह 3 स्तरों गहरी करने के लिए सरणियों और वस्तुओं की var_dump() उत्पादन को सीमित करता है के रूप में हम documentation पर देख सकते हैं।

क्रेडिट @peezi पर क्रेडिट।