首页 > 解决方案 > 清除缓存时 Symfony 4 内存泄漏

问题描述

我有基于 Symfony 3 构建的 Symfony 应用程序,但最近我升级到 Symfony 4。现在我在清除缓存时遇到问题。当我运行命令清除缓存时,出现此错误:

PHP 致命错误:第 85 行的 var/cache/dev/ContainerGGUArAR/getDoctrine_Orm_DefaultEntityManagerService.php 中允许的内存大小为 536870912 字节已用尽(尝试分配 32768 字节)。

php.ini memory_limit设置为-1。

我发现这ServiceEntityRepository是导致问题的原因,因为当我将此服务扩展到一个存储库时,我收到此错误。

有人知道我应该尝试解决什么问题吗?

顺便提一下,memory_limitCLI 也设置为无限制

标签: phpsymfonymemory-leaksdoctrine-orm

解决方案


它不是解决问题核心的方法,但可能允许您清除缓存,即使内容非常大:

尝试

php -d memory_limit=-1 bin/console cache:clear

or when console is in app/ folder

php -d memory_limit=-1 app/console cache:clear

或者

rm -rf var/cache

or when cache is in app/ folder

rm -rf app/cache

我经常使用“rm”而不是 bin/console 命令。这不会进行任何缓存预热,因此第一页的加载将花费更长的时间。与 bin/console 命令相比,有时我手动清除缓存会得到更好的结果...


推荐阅读