大图像文件夹导致 Symfony "cache:clear" 崩溃并出现 OutOfMemoryException
Large image folder crashes Symfony "cache:clear" with OutOfMemoryException
当我将大图像文件夹放入 /web folder
时,"cache"clear"
命令失败并显示
"OutOfMemoryException"
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
您可以将 memory_limit 更改为 ini_set('memory_limit', '-1');但这根本不是解决方案。
请不要那样做。显然 php 某处有内存泄漏,您告诉服务器只使用它想要的所有内存。问题根本没有解决。如果您监控您的服务器,您会发现它现在可能用完了大部分 RAM,甚至交换到磁盘。
您可能应该尝试找出代码中的确切错误并修复它。
您可以像这样限制 php 命令的使用:
php -d memory_limit=512M app/console cache:clear --verbose --no-warmup
希望这对你有用:)
当我将大图像文件夹放入 /web folder
时,"cache"clear"
命令失败并显示
"OutOfMemoryException"
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
您可以将 memory_limit 更改为 ini_set('memory_limit', '-1');但这根本不是解决方案。
请不要那样做。显然 php 某处有内存泄漏,您告诉服务器只使用它想要的所有内存。问题根本没有解决。如果您监控您的服务器,您会发现它现在可能用完了大部分 RAM,甚至交换到磁盘。
您可能应该尝试找出代码中的确切错误并修复它。
您可以像这样限制 php 命令的使用:
php -d memory_limit=512M app/console cache:clear --verbose --no-warmup
希望这对你有用:)