Symfony清除缓存内存限制


Symfony clear cache memory limit

我的问题是:当我尝试在我的开发环境中执行cache:clear命令时,由于PHP内存限制,我有一个致命的错误。因此,我尝试将此限制增加到2048M,这应该足够了,但仍然存在相同的问题。

我尝试了所有方法:在执行命令之前手动删除缓存文件夹,将PHP memory_limit设置为-1(由于内存不足而被Windows停止分配),使用——no-warm或——no-optional- warms执行命令…

对于信息来说,其他一切都像魅力一样…

为什么这个命令这么贪婪?我该如何解决我的问题?

谢谢!

您在哪里更改了内存限制

对于web服务器和命令行接口(CLI),您的php.ini很有可能是不同的。

如果您在命令行中遇到memory limit的问题,请确保您编辑了正确的php.ini文件。

了解哪些ini文件正在使用。php --ini

当我从SF2.3升级到SF2.8(大量BC更改)时,我遇到了类似的问题。默认情况下,通过CLI运行的PHP脚本没有设置最大内存限制。这就是为什么所有的内存资源都用光了。

问题消失后I:

  1. 将bundle升级到最新版本,这可能与当时最新的SF版本不够兼容。

  2. 修复了我所有的代码,以反映BC从升级手册的变化(主要是表单类型,yaml设置和控制器)。

bundle和我的代码产生了更多的调试信息(通常是弃用警告),这导致PHP Xdebug占用了所有的资源,直到内存达到最大值。我只是在预热缓存时才注意到这一点。在所有的修复之后,我将警告消息保持在最低限度。

你可以检查:

  • dev.log查看任何弃用警告
  • xdebug设置并将max_nesting_level设置为相同的值: xdebug.max_nesting_level = 1200
  • 为CLI禁用xdebug,这是不必要的:php5dismod -s cli xdebug