ฉันมีสคริปต์ PHP ที่ในขณะที่โฟลเดอร์มีไฟล์ XML จะประมวลผลลงในฐานข้อมูล
ปัจจุบันเซิร์ฟเวอร์กำลังเรียกใช้ PHP เวอร์ชัน 5.3.10 และมีรายงานข้อผิดพลาดเกี่ยวกับปัญหาหน่วยความจำที่เกิดจากZEND_MM_HEAP
ภายในลูป
สิ่งนี้ทำให้ PHP ไม่เพิ่มหน่วยความจำอย่างเหมาะสมจึงนำไปสู่ข้อผิดพลาดและความผิดพลาดของสคริปต์:
zend_mm_heap is corrupted
พบวิธีแก้ไขปัญหาบางอย่างแต่ฉันไม่สามารถเข้าถึงการตั้งค่าเซิร์ฟเวอร์
เพื่อจัดการกับสิ่งนี้ฉันได้เตรียมสคริปต์ทุบตีต่อไปนี้เพื่อดูแลลูปโดยปล่อยให้สคริปต์ PHP รับผิดชอบโดยการประมวลผลไฟล์ XML เท่านั้น:
#!/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
เป้าหมายของฉันในตอนนี้คือการจัดสรรหน่วยความจำ bash นี้มี จำกัด (หน่วยความจำและหน่วยความจำเสมือน) จึงป้องกันไม่ให้ระบบหยุดทำงานหากมีสิ่งผิดปกติเกิดขึ้น
คำถามของฉันคือ:
ฉันจะ จำกัด หน่วยความจำที่สคริปต์เปลือกนี้ใช้ในจำนวนที่กำหนดได้อย่างไร
export USE_ZEND_ALLOC=0
โปรดทราบว่าคุณสามารถใช้เปลี่ยนวิธีการจัดสรรหน่วยความจำโดยการทำงาน