php cli内存限制

前端之家收集整理的这篇文章主要介绍了php cli内存限制前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在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.f2er.com/php/139893.html

猜你在找的PHP相关文章