如何分析并解决Yii2框架脚本运行中的内存泄漏问题?

2026-05-22 20:553阅读0评论SEO资讯
  • 内容介绍
  • 相关推荐

本文共计732个文字,预计阅读时间需要3分钟。

在处理`edu_ocr_img`表格归档时,每跑几万条数据,PHP会报内存耗尽错误。经代码追踪发现,问题出在插入数据时的操作。

现象

在跑 edu_ocr_img 表的归档时,每跑几万个数据,都会报一次内存耗尽

PHP Fatal error: Allowed memory size of 134217728 bytesexhausted (tried toallocate 135168 bytes)

跟踪代码发现,是在插入时以下代码造成的:

EduOCRTaskBackup::getDb()->createCommand()->batchInsert(EduOCRTaskBackup::tableName(), $fields, $data)->execute();

execute 之后会造成使用内存涨上去,并且在之后 unset 所有变量内存也会有一部分不会删除,直到内存耗尽。

阅读全文

本文共计732个文字,预计阅读时间需要3分钟。

在处理`edu_ocr_img`表格归档时,每跑几万条数据,PHP会报内存耗尽错误。经代码追踪发现,问题出在插入数据时的操作。

现象

在跑 edu_ocr_img 表的归档时,每跑几万个数据,都会报一次内存耗尽

PHP Fatal error: Allowed memory size of 134217728 bytesexhausted (tried toallocate 135168 bytes)

跟踪代码发现,是在插入时以下代码造成的:

EduOCRTaskBackup::getDb()->createCommand()->batchInsert(EduOCRTaskBackup::tableName(), $fields, $data)->execute();

execute 之后会造成使用内存涨上去,并且在之后 unset 所有变量内存也会有一部分不会删除,直到内存耗尽。

阅读全文