Мне нужно сделать некоторые действия по jpeg-изображениям – PHP GD Heroku этого не позволяет. Я читал, что это возможно с Imagick, поэтому я переписал код, подтолкнул его к герою и …
PHP Неустранимая ошибка: класс «Imagick» не найден в […]
Так что я делаю что-то не так (код работает локально)?
$tlo = new Imagick(); $tlo->newImage(640, 480, new ImagickPixel('white')); $tlo->setImageFormat('jpg');
Есть ли способ работать с jpg на heroku?
ImageMagick, утилита командной строки и библиотека программирования, должны быть установлены в системе для работы Imagick.
Если это не работает для вас, то, предположительно, у веб-динаморов Heroku это не установлено по умолчанию. У вас есть два варианта: вы можете найти сложный способ пакетного ImageMagick с самим приложением, например, добавив скомпилированные двоичные файлы в свое дерево источников git. Или вы можете изменить PHP-пакет Heroku PHP , который представляет собой набор правил, который устанавливает веб-дино, прежде чем развертывать ваше приложение, чтобы установить ImageMagick вместе с самим Apache и PHP. Последний подход с большей вероятностью будет работать.
После того, как вы изменили buildpack, измените приложение, чтобы указать на свою вилку buildpack с инструментами Heroku из командной строки (опция –buildpack) и перераспределить.
Более простой подход заключается в установке ImageMagick с использованием composer.json
, как описано здесь: https://devcenter.heroku.com/articles/php-support#php-5-5-and-5-6
Вам просто нужно включить imagick
в раздел require
и обновить композитор:
{ ... "require": { "ext-imagick": "*", ... } }