मेरे पास एक PHP स्क्रिप्ट है, जबकि एक फ़ोल्डर में XML फाइलें होती हैं, उन्हें डेटाबेस पर संसाधित करेगा।
वर्तमान में, सर्वर PHP संस्करण 5.3.10 चला रहा है और लूप के भीतर ट्रिगर होने वाली मेमोरी समस्याओं के बारे में एक बग रिपोर्ट हैZEND_MM_HEAP
।
यह PHP को मेमोरी को ठीक से मुक्त नहीं करने का कारण बनता है, इस प्रकार एक त्रुटि और एक स्क्रिप्ट क्रैश के कारण होता है:
zend_mm_heap is corrupted
कुछ समाधान पाए जाते हैं, लेकिन मेरे पास सर्वर सेटिंग्स तक पहुंच नहीं है।
इससे निपटने के लिए, मैंने लूप का ध्यान रखने के लिए निम्नलिखित बैश स्क्रिप्ट तैयार की है, केवल PHP फाइल को संसाधित करके PHP स्क्रिप्ट को छोड़कर:
#!/bin/bash
# Check for files to process
# If files are present, call
# the PHP script
DIR="/path/to/dir/with/files"
while [ "$(ls -A $DIR)" ]; do
php /path/to/php/script/myscript.php
done
मेरा लक्ष्य अब इस बैश मेमोरी एलोकेशन (मेमोरी और वर्चुअल मेमोरी) को सीमित करना है, इस प्रकार यह सिस्टम को लटका देने से रोकता है अगर कुछ गलत होता है।
मेरा प्रश्न है:
मैं इस शेल स्क्रिप्ट द्वारा उपयोग की गई मेमोरी को एक विशेष राशि तक कैसे सीमित कर सकता हूं?
export USE_ZEND_ALLOC=0
।