Задать вопрос

Почему возникает ошибка Imagine?

Пытаюсь организовать обрезку файлов (но так получилось что изначально) их не кто не обрезал поэтому пришлось брать информацию о нахождении фотографий из базы вот собственно сам код
$image=Image::find()->all();
     $imgcrop=$imagine->imagerisize($image); 


    public function imagerisize($models){
            foreach($models as $model) {
                $path = Yii::getAlias('@frontend/web/image/') . $model->path;
                $img = Image::getImagine()->open($path . '/' . $model->name);
                $size = $img->getSize();
                $ratio = $size->getWidth() / $size->getHeight();
                $widthcar = 200;
                $heightcar = round($widthcar / $ratio);
                Image::thumbnail($path . '/' . $model->name, $widthcar, $heightcar)->save($path . 'carusel-' . $model->name, ['quality' => 90]);
                $widthind = 240;
                $heightind = round($widthind / $ratio);
                Image::thumbnail($path . '/' . $model->name, $widthind, $heightind)->save($path . 'index-' . $model->name, ['quality' => 90]);
                $widthcat = 220;
                $heightcat = round($widthcat / $ratio);
                Image::thumbnail($path . '/' . $model->name, $widthcat, $heightcat)->save($path . 'category-' . $model->name, ['quality' => 90]);
                $widthtop = 92;
                $heighttop = round($widthtop / $ratio);
                Image::thumbnail($path . '/' . $model->name, $widthtop, $heighttop)->save($path . 'top-' . $model->name, ['quality' => 90]);
                $widthnews = 42;
                $heightnews = round($widthnews / $ratio);
                Image::thumbnail($path . '/' . $model->name, $widthnews, $heightnews)->save($path . 'news-' . $model->name, ['quality' => 90]);
            unset($model);
            }
        return true;
        }


вот выдает такую ошибку

Imagine\Exception\RuntimeException
        Save operation failed
        Caused by: ImagickException
        Insufficient memory (case 4)


вопрос как устранить эту ошибку.
  • Вопрос задан
  • 362 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Vdm17
PHP Developer
Перевод с английского искали? Imagick ругается на то, что ему не хватает памяти. Варианты действий:
  • добавить скрипту памяти (не самый лучший)
  • после создания каждой thumbnail-картинки принудительно очищать память для объекта Imagine
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы