вмешательство образа из памяти — Laravel

Проблема с памятью: управление изображениями

Я использую интервальный класс изображений для laravel и копирую, изменяю размеры и кодирую изображения в каталог сайтов. По сути, имитация загрузки в поддельные списки.

Однако я, кажется, сталкиваюсь с проблемой памяти при запуске семян базы данных.

Сообщение об ошибке:

local.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException'
with message 'Allowed memory size of 134217728 bytes exhausted (tried to allocate 5056 bytes)'
in C:\xampp\htdocs\equezone\vendor\intervention\image\src\Intervention\Image\Gd\Decoder.php:115

Каждое изображение не более 1265х625. Размер изображения изменяется только если он больше 1300×700. Таким образом, ни одно изображение не изменяется на самом деле …

Строка 115 Gd \ Decoder.php

$canvas = imagecreatetruecolor($width, $height);

imagecreatetruecolor кажется, чтобы расширить класс GD для PHP.

это основы моего кода:

$image = Image::make(( ! is_string($file))? $file->getRealPath(): $file);
if ($image->width() > self::MAX_IMAGE_WIDTH || $image->height() > self::MAX_IMAGE_HEIGHT) {
self::resizeImage($image, self::MAX_IMAGE_WIDTH, self::MAX_IMAGE_HEIGHT);
}

/*
Some code here to retrieve the listing from the database,
create an image in the database
assign image to the listing
*/

$image->encode('jpg',100);
$image->save($img->getImageLocation(), 100);

Я выясняю, откуда происходит утечка памяти.

Семя будет заполнять примерно 8 — 14 списков до сбоя памяти. Загрузка примерно 60 — 70 изображений. Тогда у него заканчивается память. Списки генерируются случайным образом, а изображения назначаются случайным образом спискам …

Это полностью поставило меня в тупик. Если вы хотите узнать больше информации, просто дайте мне знать.

3

Решение

Попробуйте использовать destroy чтобы освободить память, выделенную для экземпляра после того, как вы закончите с ним:

$image->encode('jpg',100);
$image->save($img->getImageLocation(), 100);
$image->destroy();

http://image.intervention.io/api/destroy

7

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]