ฉันได้รับข้อผิดพลาดของหน่วยความจำในงาน php cron:
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 71 bytes) in /opt/matrix/core/lib/DAL/DAL.inc on line 830
ส่วนที่เกี่ยวข้องของ crontab คือ:
$ sudo crontab -u www-data -l
MAILTO=root
# m h dom mon dow command
*/15 * * * * php /opt/matrix/core/cron/run.php /opt/matrix
ฉันกำลังใช้งาน Debian Squeeze ได้รับการอัปเดตอย่างสมบูรณ์
วิธีแก้ไขที่ชัดเจนคือ cli มีขีด จำกัด หน่วยความจำเหลือน้อย (64MB) อย่างไรก็ตาม /etc/php5/cli/php.ini บอกว่ามันไม่ จำกัด
$ cat /etc/php5/cli/php.ini | grep memory_limit
memory_limit = -1
ฉันอ่านบางที่อาจแตกต่างกันสำหรับผู้ใช้ที่แตกต่างกันและเนื่องจากกระบวนการทำงานเป็น www-data ฉันจึงวิ่ง:
$ sudo -u www-data -s
$ php -i | grep memory_limit
memory_limit => -1 => -1
suhosin.memory_limit => 0 => 0
แม้แต่ apache / php.ini ก็มีข้อ จำกัด ที่สูงกว่าข้อผิดพลาดที่อ้างสิทธิ์:
$ sudo cat /etc/php5/apache2/php.ini | grep memory_limit
memory_limit = 128M
ฉันพลาดอะไรไป หน่วยความจำนี้อยู่ที่ไหน จำกัด ?