php memory_limit的最小值

时间:2017-01-28 19:50:25

标签: php memory memory-limit

我正在尝试掌握PHP内存分配的基础知识,似乎我缺少一些基础知识。 假设我们有以下代码:

<?php

ini_set('memory_limit','10000');

$a = '';
for ($i=0; $i<=10000000; $i++) {
    $a .= '1';
}

执行此操作会产生以下错误:

Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 153801 bytes) in /var/www/html/index.php on line 7

这意味着内存的ini_set没有考虑到这个值(使用相当大的内存就可以了)。此操作是否存在0.25MB(262144字节)的硬最小值?

另外,据说我们只有一个空脚本,什么也不做,我们调用

echo memory_get_usage(true);

这将输出786432字节。

所以我很困惑。一个空脚本正在使用0.75M的内存。如果我通过ini_set命令将允许的内存限制为262144,那么脚本的执行方式(它仍然执行OK)。

0 个答案:

没有答案