আমার একটি পিএইচপি স্ক্রিপ্ট রয়েছে যা কোনও ফোল্ডারে এক্সএমএল ফাইল রয়েছে, এটি তাদের ডাটাবেসে প্রসেস করবে।
বর্তমানে, সার্ভারটি পিএইচপি সংস্করণ 5.3.10 চলছে এবং একটি লুপের সাহায্যে মেমরি সমস্যা সম্পর্কিত একটি বাগ রিপোর্ট রয়েছেZEND_MM_HEAP
।
এটি পিএইচপিকে সঠিকভাবে মেমরি মুক্ত করতে দেয় না, ফলে ত্রুটি এবং স্ক্রিপ্ট ক্র্যাশ হয়:
zend_mm_heap is corrupted
কিছু সমাধান পাওয়া গেছে, তবে সার্ভার সেটিংসে আমার অ্যাক্সেস নেই।
এটি মোকাবেলা করার জন্য, আমি এক্সএমএল ফাইল প্রক্রিয়াকরণ করে পিএইচপি স্ক্রিপ্টকে কেবল দায়ী রেখে লুপটির যত্ন নেওয়ার জন্য নিম্নলিখিত বাশ স্ক্রিপ্টটি প্রস্তুত করেছি:
#!/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
।