我在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
我错过了什么?这个内存限制在哪里?
IIRC,CLI不支持无限的memory_limit(我会尝试为此找到一个源)但是现在,尝试将其传递给命令:
PHP -d memory_limit=128M my_script.PHP
UPDATE
显然我在梦想无限的memory_limit不支持PHP cli.无论如何,看起来像ini的值被忽略了.最简单的解决方案应该是在调用脚本的PHP命令中专门设置它.
UPDATE2
要回答内存限制来自何处的问题,最有可能使用’ini_set’在脚本本身中设置.
原文地址:https://www.jb51.cc/php/139893.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。