我在php cron作业中遇到内存错误:
致命错误:在830行的/opt/matrix/core/lib/DAL/DAL.inc中,允许的内存大小为67108864字节(尝试分配71个字节)
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
我错过了什么?这个内存限制在哪里?