PHP 内存溢出

Posted willem_chen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 内存溢出相关的知识,希望对你有一定的参考价值。

内存溢出解决方案

在做数据统计分析时,经常会遇到大数组,可能会发生内存溢出,这里分享一下我的解决方案。还是用例子来说明这个问题,如下:

假定日志中存放的记录数为500000条,那么解决方案如下:

优化点

1 优化 SQL 语句,避免慢查询,合理的建立索引,查询指定的字段,sql 优化这块在此就不展开了。

2 查询的结果集为大对象时转数组处理,框架中一般有方法可以转,如 Laravel 中有 toArray (),Yii2 中有 asArray ()。

3 对于大数组进行数据切割处理,PHP 函数有 array_chunk ()、array_slice ()。

4 对于大型的字符串和对象,使用引用传递 &。

5 用过的变量及时 unset。

6 导出的文件格式由 excel 改为 csv

7 ini_set (‘memory_limit’,’’),设置程序可以使用的内存 (不建议这样做)。

销毁变量并释放内存

public 

以上是关于PHP 内存溢出的主要内容,如果未能解决你的问题,请参考以下文章

Android中的内存泄漏和内存溢出

php内存溢出问题,求教大神!

一次php内存溢出的解决及思考

php 执行mysql中查询时内存溢出怎么办

PHP 内存溢出

PHP 内存溢出