Symfony清除缓存内存限制

时间:2016-09-28 13:23:10

标签: php symfony caching

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

我尝试了一切:在执行命令之前手动删除缓存文件夹,将PHP memory_limit设置为-1(由Windows停止,因为内存不足以分配),使用--no-warmup执行命令或 - 无可选-怀炉...

有关信息,其他一切都像魅力......

为什么这个命令如此贪婪?我怎样才能解决我的问题呢?

谢谢!

2 个答案:

答案 0 :(得分:0)

你在哪里更改内存限制。

您的php.ini很可能与Web服务器和命令行界面(CLI)不同。

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

了解ini文件的使用情况。运行命令:php --ini

希望这有帮助。

答案 1 :(得分:0)

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

在我之后问题消失了:

  1. 将捆绑包升级到更新的版本,这可能与当时最近的SF版本不兼容。

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

  3. Bundles和我的代码产生了更多的调试信息(通常是弃用警告),这导致PHP Xdebug占用所有资源,直到内存最大化。我注意到只有在加热缓存时才会这样。在完成所有修复后,我始终将警告消息保持在最低限度。

    您可以查看:

    • dev.log用于任何弃用警告
    • xdebug设置并将max_nesting_level设置为某个合理的值: xdebug.max_nesting_level = 1200
    • 禁用xdebug for CLI,这是不必要的:     php5dismod -s cli xdebug