Fatal error: Allowed memory size of 1048576 bytes exhausted (tried to allocate 35 bytes) in E:\NEWwww\web\97find.cn_vftT2rgYQFDsfRW9fLBZ\wwwroot\2.php on line 5 我用了你的代码//出现这个了。
1048576 bytes = 1024K = 1 M说明设置有效果1M只是方便测试
可以立即生效 echo ini_get('memory_limit');//原值 ini_set('memory_limit', '50M'); echo ini_get('memory_limit');//现值但问题不在这里 Out of memory (allocated 262144) (tried to allocate 10267220 bytes) 是说你在 262144 字节可用内存中 试图申请 10267220 字节空间 这显然是不能够的memory_limit 表示的是允许php使用的最大空间,并不是一定有 memory_limit 的内存供你使用你的情况表示内存碎片太多 重启 web 服务应该可以缓解 如频繁发生,就需要考虑安装内存管理软件,或增加内存条了
不知道ini_set里修改后,是否立即生效。有点悬。
for($i=0;$i<200000;$i++)
{
$arr[] = $i;
}
我用了你的代码//出现这个了。
echo ini_get('memory_limit');//原值
ini_set('memory_limit', '50M');
echo ini_get('memory_limit');//现值但问题不在这里
Out of memory (allocated 262144) (tried to allocate 10267220 bytes)
是说你在 262144 字节可用内存中
试图申请 10267220 字节空间
这显然是不能够的memory_limit 表示的是允许php使用的最大空间,并不是一定有 memory_limit 的内存供你使用你的情况表示内存碎片太多
重启 web 服务应该可以缓解
如频繁发生,就需要考虑安装内存管理软件,或增加内存条了