4

当我将一个大图像文件夹放入我的 中/web folder时,该"cache"clear"命令失败并显示

“内存不足异常”

PHP Fatal error:  Allowed memory size of 536870912 bytes exhausted (tried to allocate 151552 bytes) in /Users/john/Development/git/website/vendor/twig/twig/lib/Twig/Compiler.php on line 124

[Symfony\Component\Debug\Exception\OutOfMemoryException]                                  
Error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 151552 bytes)  

Exception trace:
() at /Users/john/Development/git/website/vendor/twig/twig/lib/Twig/Compiler.php:124

图像文件夹包含 10.000 张图像,大小约为 600MB。当我删除这个文件夹时,“cache:clear”命令运行成功。

我正在Symfony 2.8使用PHP 7.1. PHP 内存限制设置为 512MB,这是我主机上的最大值。

更新:

当我添加--no-warmup到命令时,我没有得到exception.

$ php app/console cache:clear --verbose --no-warmup
4

2 回答 2

2

您可以像这样限制 php 命令的使用:

php -d memory_limit=512M app/console cache:clear --verbose --no-warmup

希望这对你有用:)

于 2017-12-15T15:30:05.377 回答
-2

您可以做的是通过 ini_set('memory_limit', '-1'); 更改 memory_limit 但这根本不是解决方案。

请不要那样做。显然 php 在某处有内存泄漏,你告诉服务器只使用它想要的所有内存。问题根本没有解决。如果您监视您的服务器,您会发现它现在可能正在使用大部分 RAM,甚至交换到磁盘。

您可能应该尝试追踪代码中的确切错误并修复它。

于 2017-12-14T11:33:35.757 回答