Symfony清除缓存内存限制
这是我的问题:当我尝试在我的开发环境中执行cache:clear命令时,由于PHP内存限制,我有一个致命错误。所以,我试图将这个限制增加到2048M,这应该足够了,但仍然是同样的问题。我试过了一切:在执行命令之前手动删除缓存文件夹,将PHP memory_limit设置为-1(由Windows停止,因为分配内存不足),使用--no-warmup命令执行命令或 - -no-可选,取暖器...Symfony清除缓存内存限制
的信息,一切就像一个魅力...
为什么这个命令是如此贪婪?我该如何解决我的问题?
谢谢!
你在哪里改变了内存限制。
对于Web服务器和命令行界面(CLI),您的php.ini
有很大的不同。
如果您在命令行中遇到了memory limit
的问题,请确保您正在编辑正确的php.ini
文件。
要知道什么是ini
文件正在使用中。运行命令:php --ini
希望这会有所帮助。
当我从SF2.3升级到SF2.8(很多BC更改)时,我遇到了类似的问题。 通过CLI运行的PHP脚本没有默认设置的最大内存限制。这就是为什么所有内存资源都被耗尽的原因。
问题就走了之后我:
升级捆绑最新版本,这很可能是不够兼容当时最近SF版本。
修复了我的所有代码,以反映升级手册(主要是表单类型,yaml设置和控制器)的BC更改。
包和我的代码产生了更大量的调试信息(通常是废弃警告),这引起了PHP的Xdebug直到内存刷爆占用的所有资源。我注意到,只有在预热缓存的时候。在所有修复之后,我将警告信息保持在最低限度。
你可以检查:
- dev.log任何废弃警告
- Xdebug的设置,并设置max_nesting_level一些理智的价值: Xdebug的。max_nesting_level = 1200
- 的CLI,禁用Xdebug的是不必要的反正: php5dismod -s命令行的XDebug
嗨,我检查了dev.log,它似乎确定。在我的CLI php.ini文件中,XDebug被禁用......仍是同样的问题!感谢您的回答。 – Alfredo
谢谢您的回答,但是当我改变了内存的限制,我可以看到,它的考虑帐户,因为当我把256M,它在256M失败,当我把512M,它在512M等失败... – Alfredo