在RHEL/CentOS和Fedora上安装ImageMagick图像处理工具
ImageMagick是一个免费的开源软件套件,适用于任何类型的图像处理,用于创建,编辑,转换,显示图像文件。
它可用于读取和写入超过200个图像文件,如JPEG,GIF,PNG,TIFF和Photo CD图像格式,它还可用于缩略图或验证码生成。它还包括用于创建gif图像格式的命令行选项以及诸如调整大小,锐化,旋转或向图像添加特殊效果等更多功能。
要将ImageMagick工具与PHP或Perl编程语言一起使用,需要为PHP安装ImageMagick与imagick PHP扩展,为Perl安装ImageMagick Perl扩展。
Imagick是一个简单的PHP扩展,用于使用ImageMagick API程序创建和修改图像。在名称上听起来有点混乱,因为人们认为ImageMagick和Imagick都是一样的,您可以在没有Imagick扩展的情况下使用ImageMagick,但是您需要在机器上安装两者来使用和运行它。
从存储库安装ImageMagick
首先,安装以下先决条件php-pear,php-devel和gcc包来编译imagick PHP扩展。
# yum install php-pear php-devel gcc
在安装了php-pear,php-devel和gcc软件包后,您现在可以使用yum命令安装用于PHP和Perl支持的ImageMagick软件。
# yum install ImageMagick ImageMagick-devel ImageMagick-perl
接下来,通过检查其版本来验证系统上是否已安装ImageMagick。
从源代码安装ImageMagick 7
要从源安装ImageMagick,您需要一个带有编译器和相关开发工具的适当开发环境。 如果您的系统上没有所需的软件包,请安装开发工具,如下所示:
# yum groupinstall 'Development Tools'
# yum -y install bzip2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel giflib-devel zlib-devel ghostscript-devel djvulibre-devel libwmf-devel jasper-devel libtool-ltdl-devel libX11-devel libXext-devel libXt-devel lcms-devel libxml2-devel librsvg2-devel OpenEXR-devel php-devel
现在,使用以下wget命令下载最新版本的ImageMagick源代码并将其解压缩。
# wget https://www.imagemagick.org/download/ImageMagick.tar.gz
# tar xvzf ImageMagick.tar.gz
配置并编译ImageMagick源代码。 根据您的服务器硬件规格,这可能需要一些时间才能完成。
# cd ImageMagick*
# ./configure
# make
# make install
验证ImageMagick编译和安装是否成功。
[linuxidc@localhost ImageMagick-7.0.8-28]$ magick -version
Version: ImageMagick 7.0.8-28 Q16 x86_64 2019-02-22 https://imagemagick.org
Copyright: © 1999-2019 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI OpenMP
Delegates (built-in): bzlib djvu fontconfig freetype jng jpeg lzma openexr pangocairo png tiff wmf x xml zlib
安装Imagick PHP扩展
接下来,编译PHP扩展的imagick。要做到这一点,只需运行以下“pecl”命令。它将安装ImageMagick和imagick PHP扩展模块的imagick。在/usr/lib/php/modules目录下。如果使用64位系统,模块目录路径将是/usr/lib64/php/modules.
# pecl install imagick
downloading imagick-3.4.3.tgz ...
Starting to download imagick-3.4.3.tgz (245,410 bytes)
...................................................done: 245,410 bytes
19 source files, building
running: phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
Please provide the prefix of Imagemagick installation [autodetect] :
注意:它会要求您提供Imagemagick安装前缀,只需按回车即可自动检测。
现在,添加imagick.so到 /etc/php.ini文件。
echo extension=imagick.so >> /etc/php.ini
接下来,重启Apache Web服务器。
# service httpd restart
通过运行以下命令验证imagick PHP扩展。 你会看到类似于下面的imagick扩展。
# php -m | grep imagick
imagick
或者,您可以在网站根目录下创建名为“phpinfo.php”的文件(例如:/var/www/html)。
# vi /var/www/html/phpinfo.php
添加以下代码。
<?php
phpinfo ();
?>
打开您的Web浏览器并输入http://localhost/phpinfo.php 或者 http://ip-addresss/phpinfo.php并验证imagick扩展名。