Allowed memory size of 134217728 bytes exhausted (tried to allocate 1580994 bytes) 问题解决方案

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 1580994 bytes) in Log.php on line 261

今天同事遇到对账文件获取问题,根据错误描述是超出了分配给PHP的内存限制

解决方案:
1、修改PHP的内存大小限制
修改php.ini memory_limit = 128 需要重启服务器
或者
ini_set(‘memory_limit’,’256M’); //升级为申请256M内存

2、查看为什么引起这种情况

  • 结合memory_get_usage()查看内存实时使用情况,大体获知原因为已经没用的对象没有垃圾回收,一般情况下没有垃圾回收也是没问题的,但是这里是极端情况,获取的对账内容作为属性放入这个对象,解决方案是unset此对象
  • 另外查看到文件流没有关闭fclose关闭此文件流
0条留言