我需要对jpeg图像做一些操作 - Heroku的PHP GD不允许这样做。我已经读过Imagick有可能,所以我重写了代码,把它推到了heroku ......
PHP致命错误:在[...]
中找不到类'Imagick'
我做错了什么(代码在本地工作)?
$tlo = new Imagick();
$tlo->newImage(640, 480, new ImagickPixel('white'));
$tlo->setImageFormat('jpg');
有没有办法在heroku上使用jpg?
答案 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并重新部署。