由数组未初始化引起PHP脚本出现内存不足 PHP Fatal error: Allowed memory size of

项目中遇到需要统计周粒度数据,随着时间越来越长,请求的数据会越来越多,超过nginx fastcgi_read_timeout 10

的限制,所以出现504 Gateway Time out,我把数据放到一个中间数据表中,当前端需要请求数据的时候从 中间数据表中获取数据,但是,发现Http状态码变成了500,看了一下日志报错出现

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 336219 bytes) 

PHP脚本内存不足,使用

echo memory_get_usage();

 看了一下内存使用,超出了php.ini中memory_limit 128M

的限制,所以开始报错,找了好久,最后看了一下中间表的数据,不是很正常,多出来很多重复的数据,原因是

我代码中没有声明数组      $arr = array();

后面代码中使用$arr [] = array();

一直向数组中添加数据,导致多了很多重复的数据,数据量瞬间增加了很多,这样就造成出现PHP脚本出现内存不足的原因了

所以如果遇到这个问题,很可能是我们程序写的有问题,和同事一起分析,最后找到了原因,想撞墙的感觉!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值