我在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
我想念什么?此内存限制在哪里?