6

我需要对 jpeg 图像执行一些操作 - Heroku 的 PHP GD 不允许这样做。我读过 Imagick 是可能的,所以我重写了代码,将其推送到 heroku 并......

PHP 致命错误:在 [...] 中找不到类 'Imagick'

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

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

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

4

2 回答 2

14

一种更简单的方法是使用安装 ImageMagick composer.json,如下所述:https ://devcenter.heroku.com/articles/php-support#using-optional-extensions

您只需要包含imagick在该require部分并更新作曲家:

{
    ...
    "require": {
         "ext-imagick": "*",
         ...
    }
}
于 2016-02-26T20:05:26.487 回答
1

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

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

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

于 2012-07-04T02:16:13.110 回答