想象一下heroku - 有可能吗?

时间:2012-07-03 22:15:07

标签: php heroku module imagick

我需要对jpeg图像做一些操作 - Heroku的PHP GD不允许这样做。我已经读过Imagick有可能,所以我重写了代码,把它推到了heroku ......

  

PHP致命错误:在[...]

中找不到类'Imagick'

我做错了什么(代码在本地工作)?

$tlo = new Imagick();
$tlo->newImage(640, 480, new ImagickPixel('white'));
$tlo->setImageFormat('jpg');

有没有办法在heroku上使用jpg?

2 个答案:

答案 0 :(得分:9)

更简单的方法是使用composer.json安装ImageMagick,如下所述:https://devcenter.heroku.com/articles/php-support#php-5-5-and-5-6

您只需在imagick部分加入require并更新作曲家:

{
    ...
    "require": {
         "ext-imagick": "*",
         ...
    }
}

答案 1 :(得分:2)

ImageMagick是一个命令行实用程序和编程库,必须安装在系统上才能使Imagick工作。

如果它不适合你,那么默认情况下Heruno的PHP网络dynos可能没有安装。您有两个选择:您可以找到一些复杂的方法来将ImageMagick打包到您的应用程序本身,例如通过将已编译的二进制文件添加到您的git源代码树。或者,您可以修改Heroku PHP buildpack,这是在部署应用程序之前设置Web dyno的规则集,可以安装ImageMagick以及Apache和PHP本身。后一种方法更有可能奏效。

修改buildpack后,使用命令行Heroku工具(--buildpack选项)将应用程序更改为指向buildpack fork并重新部署。