PHP内存溢出:Allowed memory size of 536870912 bytes exhausted (tried to allocate 20480 bytes)
Posted on 2023-03-13 14:23 JasPine 阅读(1183) 评论(0) 收藏 举报解决办法(仅供参考)
1、修改 php.ini 文件
将 memory_limit 由 8M 改成 16M(或更大),重启 apache / nginx 服务
2、在代码中设置
在 PHP 代码中 加入 ini_set("memory_limit", "100M");
注意:为了系统的其它资源的正常使用 请您不要将 memory_limit 设置太大
ini_set("memory_limit", -1); //-1不限制内存
3、修改.htaccess 文档(前提是该目录支持.htaccess)
在文档中新增一句:php_value memory_limit 16M (或更大)
4、把数据尽可能的打散
如果是求和数据:可以分页追加求和数据,把一个query_all查询中的所有数据,分散成query_limit()方法,避免查询所有内存直接溢出
如果方法行数太多,把方法拆分成小方法,把一个方法中耗的大量内存分摊到各个小方法中去
浙公网安备 33010602011771号