2013-03-18 5 views
11

पहली बार mpdf लाइब्रेरी का उपयोग कर रहा हूं और सबकुछ ठीक काम करता है। मैंने पीडीएफ फ़ाइल बनाने के लिए एक स्क्रिप्ट लिखी जिसमें 274 पंक्तियों की एक तालिका शामिल है। जब मैं स्क्रिप्ट चलाता हूं तो मुझे PHP स्मृति त्रुटि मिलती है। मैंने अलग-अलग परिदृश्य की कोशिश की लेकिन मुझे एक ही स्मृति त्रुटि मिली। कृपया इस त्रुटि को हल करने में मेरी मदद करें। मैंने अलग-अलग परिदृश्य और इसके परिणाम के नीचे सूचीबद्ध किया है।php mpdf मेमोरी सीमा त्रुटि

php.ini = memory_limit = 256M

स्क्रिप्ट = ini_set ('memory_limit', '25M');

Result: 
memory_get_usage() = 12.75 mb 
memory_get_peak_usage() = 12.75 mb 
Fatal error: Allowed memory size of 26214400 bytes exhausted 
(tried to allocate 261904 bytes) 
in C:\xampp\htdocs\XX\lib\pdf\mpdf\mpdf.php on line 14268 

php.ini = memory_limit = 256M

स्क्रिप्ट = ini_set ('memory_limit', '-1');

Result: 
memory_get_usage() = 12.75 mb 
memory_get_peak_usage() = 12.75 mb 
Fatal error: Out of memory (allocated 1898971136) 
(tried to allocate 261904 bytes) 
in C:\xampp\htdocs\XX\lib\pdf\mpdf\mpdf.php on line 14265 
+0

'ini_set ('memory_limit', -1); var_dump (ini_get ('memory_limit')); 'पुष्टि करें कि आपके परिवर्तन सेट किए जा रहे हैं। –

+0

@ माइक बी यह इस = स्ट्रिंग (2) "-1" – sravis

+0

आउटपुट करता है तो कुछ और स्मृति सीमा को 25 पर सेट कर रहा है। –

उत्तर

4

टेबल्स मेमोरी उपयोग कई विकल्पों का उपयोग करके कम किया जा सकता है। official doc here

+0

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

+1

मैंने उत्तर – flm

+0

अद्यतन किया है विशेष रूप से, '$ mpdf-> packTableData = true; 'या' $ mpdf-> packTableData = true;' (लिंक से, अगर यह भविष्य में टूट जाता है) अन्यथा, mpdf में शामिल compress.php स्क्रिप्ट के माध्यम से जाएं। – Sablefoste

0

मुझे सिंक से बाहर मिला है (</तालिका >) टैग स्मृति समस्याएं (और गति) का कारण बन सकते हैं; एमपीडीएफ में जा रहे एचटीएमएल को साफ करने से इसे हल किया गया।

0

क्या आपने यह देखने के लिए phpinfo() आउटपुट देखने का प्रयास किया है कि आप क्या स्मृति_limit मान बदल रहे हैं? उस फ़ंक्शन को अपने index.php फ़ाइल के शीर्ष पर रखने का प्रयास करें और देखें कि ini_set('memory_limit', '256M'); यह प्रभावी हो रहा है या नहीं।

सम्मान!

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