Yii2允许的内存大小耗尽

时间:2015-10-05 08:44:33

标签: memory yii2

我正在将文件上传到我的Yii2项目。它自身的文件大约为100kB,包含约45000条短线,由控制器处理并逐行添加到数据库中。

yii-error

我怎样才能准确追踪错误发生的时间或者是什么占用了记忆? php.ini中设置的限制目前为512MB。那么LogTarget与它有什么关系呢? Afaik我在上传和更新过程中没有记录任何内容。

当其他东西正在使用服务器的内存时,这件事会发生吗? A'la其他背景脚本?

2 个答案:

答案 0 :(得分:1)

我已经有过这种情况的经验。你可以采取两种方式行事

1) - 提高php.ini中的memory_limit参数

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
; memory_limit = 128M
memory_limit = 256M

2) - 通过拆分文件,您可以迭代到较小的部分并使用单独的脚本(或单独的帖子)管理它们

答案 1 :(得分:0)

错误不在此行中。 当我从excel文件导入数据并使用print_r或var_dump记录一些“模型”数据时,我遇到了同样的错误,其中整个“模型”被添加到日志中(包括关系遍历等)

您可以通过使用Vardumper而不是print_r或var_dump并设置深度(例如3)来限制转储深度来解决此问题

yii\helpers\VarDumper::dumpAsString($var, $depth, $highlight)

然后只有代码返回到此深度,日志会变小。

此外,如果您对数据库进行了许多插入/更新,则日志将会很长。

btw问题来自调试工具栏。如果禁用调试模块,则不会收到错误。

但是其他增加内存却没有真正的解决方案