imageMagick安装和php imagick扩展安装

时间:2021-05-23 10:10:18

在PHP中对于图片处理我们常用的GD、ImageMagick 等等,常用的GD 有时GD无法满足我们的需求,下面我们讲讲 Centos 下安装 ImageMagick


简单介绍下 ImageMagick (来源百科)

ImageMagick是一套功能强大、稳定而且开源的工具集和开发包,可以用来读、写和处理超过89种基本格式的图片文件,包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式。利用ImageMagick,你可以根据web应用程序的需要动态生成图片, 还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作,并将操作的结果以相同格式或其它格式保存,对图片的操作,即可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Ruby编程来完成。同时ImageMagick提供了一个高质量的2D工具包,部分支持SVG。ImageMagic的主要精力集中在性能,减少bug以及提供稳定的API和ABI上。 ImageMagick 是一个用来创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线


安装前准备

    1. 安装目录
imagemagick

安装目录 /usr/local/imagemagick

php 模块 imagick

安装目录 /usr/local/imagick

2. 下载 ImageMagick 当前版本 6.3.2-9
下载地址:
http://www.imagemagick.com.cn/download/ImageMagick-6.3.2-9.tar.gz

3. 下载 PHP 的 imagick 模块,当前版本 3.4.1
下载地址:
wget http://pecl.php.net/get/imagick-3.4.1.tgz

安装 ImageMagick

1.  编译安装 ImageMagick

1.1 下载
wget http://www.imagemagick.com.cn/download/ImageMagick-6.3.2-9.tar.gz

1.2 解压
tar -zvxf ImageMagick-6.3.2-9.tar.gz

1.3 编译安装

cd ImageMagick-6.3.2-9

./configure --prefix=/usr/local/imagemagick

make

make 时候可能遇到的错误
Magick++/lib/Image.cpp:3925: error: 'atexit' was not declared in this scope
make: *** [Magick++/lib/Image.lo] 错误 1

原因:gcc 版本过高的不兼容老版本写法,解决办法

vi /usr/local/ImageMagick-6.3.2/Magick++/lib/Image.cpp
在 #define MAGICKCORE_IMPLEMENTATION 1 行下添加 #include <stdlib.h>,如下

#define MAGICKCORE_IMPLEMENTATION 1
#include <stdlib.h>

make install

2. 安装 PHP 的 imagick 模块

2.1 下载
wget http://pecl.php.net/get/imagick-3.4.1.tgz

2.2 解压

tar -zvxf imagick-3.4.1.tgz -C /usr/local/imagick

2.3 扩展动态编译到PHP

2.3.1

cd imagick-3.4.1

2.3.2
找到自己的 phpize,实在找不到就find下
/usr/local/webserver/php/bin/phpize

2.3.3
./configure --with-php-config=/usr/local/webserver/php/bin/php-config