我正在使用AWS EC2 Bitnami AMI :bitnami-lampstack-5.4.11-1-linux-ubuntu-12.04.1-x86_64-ebs(ami-aadf4cc3)
我有一个php文件:
<?php
$im = new imagick();
$im->readImageBlob(file_get_contents("http://s3.amazonaws.com/bucket/file.jpg"));
?>
这给了我以下错误:
PHP Fatal error: Uncaught exception 'ImagickException' with message 'no decode delegate for this image format `' @ error/blob.c/BlobToImage/361' in /opt/bitnami/apache2/htdocs/index.php:3
Stack trace:
#0 /opt/bitnami/apache2/htdocs/index.php(3): Imagick->readimageblob('??????JFIF?????...')
#1 {main}
thrown in /opt/bitnami/apache2/htdocs/index.php on line 3
我使用以下步骤安装了imagick:
1) wget http://pecl.php.net/get/imagick-3.1.0RC2.tgz
2) tar -zxvf imagick-3.1.0RC2.tgz
3) cd imagick-3.1.0RC2
4) phpize
5) ./configure
6) make
7) make install
到目前为止,我已尝试过:
1) file_get_contents is returning the image file and it is a confirmed jpeg
2) using convert directly from the command line --> it works
3) imagick-3.0.1 on this AMI and it won't install because of compiler errors
4) imagick-3.0.1 on the previous bitnami AMI (bitnami-lampstack-5.3.10-2-linux-ubuntu-12.04-x86_64-ebs (ami-8c4c96e5)) and it gives the same ImagickException error (no decode delegate)
5) Using a PNG file which gives me the same error
转换-list configure给了我DELEGATES bzlib freetype jpeg jng png tiff zlib
答案 0 :(得分:1)
解决方案:
使用
更新/opt/bitnami/scripts/setenv.sh
,如下所示
MAGICKCODERMODULE_PATH="/usr/lib/ImageMagick-6.6.9/modules-Q16/coders"
然后
`/opt/bitnami/ctlscript.sh restart apache`