在RHEL/CentOS和Fedora上安装ImageMagick(图像处理)工具

ImageMagick 是一個免費的開源簡單軟件套件,用於任何類型的圖像操作,用於創建、編輯、轉換、顯示圖像文件。

它能夠讀取和寫入超過200種圖像文件,如JPEG、GIF、PNG、TIFF和照片CD圖像格式,並且還用於縮略圖或驗證碼生成。它還包括用於創建透明或動畫GIF圖像格式等許多功能,如調整大小、銳化、旋轉或向圖像添加特殊效果。

要使用ImageMagick工具與PHPPerl編程語言,您需要安裝帶有Imagick PHP擴展的PHP以及帶有Perl的ImageMagick-Perl擴展。

Imagick是一個簡單的PHP擴展,用於使用ImageMagick API程序創建和修改圖像。名字上存在混淆,因為人們認為ImageMagickImagick是一樣的,但是您可以在不安裝Imagick擴展的情況下使用ImageMagick,但您需要在計算機上安裝它們兩個才能使用和運行它。

從存儲庫安裝ImageMagick

首先,安裝以下先決條件php-pearphp-develgcc包以編譯Imagick PHP擴展。

# yum install php-pear php-devel gcc 
Install PHP Extensions in CentOS 8

安裝了 php-pearphp-develgcc 套件後,現在可以使用 yum command 安裝 ImageMagick 軟體以支援 PHPPerl

# yum install ImageMagick ImageMagick-devel ImageMagick-perl

重要:在 CentOS/RHEL 8 中不提供 ImageMagick,而是改為使用 GraphicsMagick,這是 ImageMagick 的一個分支。

要在 CentOS/RHEL 8 上安裝 GraphicsMagick,請執行以下命令。

# dnf info GraphicsMagick
# dnf install GraphicsMagick GraphicsMagick-devel GraphicsMagick-perl
Install GraphicsMagick in CentOS 8

接下來,通過檢查其版本來驗證系統上是否安裝了 ImageMagick

# convert --version
 
Version: ImageMagick 6.7.8-9 2019-02-01 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP    

用戶可以運行以下命令來驗證系統上安裝的 GraphicsMagick 版本。

# gm version

GraphicsMagick 1.3.33 2019-07-20 Q16 http://www.GraphicsMagick.org/
Copyright (C) 2002-2019 GraphicsMagick Group.
Additional copyrights and licenses apply to this software.
See http://www.GraphicsMagick.org/www/Copyright.html for details.

從原始碼安裝 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的編譯和安裝是否成功。

# magick -version

Version: ImageMagick 7.0.8-28 Q16 x86_64 2019-02-19 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擴展

接下來,編譯Imagick for PHP擴展。要做到這一點,只需運行以下’pecl‘命令。它將安裝ImageMagick和imagick PHP擴展模塊’imagick.so‘在’/usr/lib/php/modules‘目錄下。如果您使用的是64位系統,模塊目錄路徑將是’/usr/lib64/php/modules‘。

注意:它將要求您提供Imagemagick安裝前綴,只需按Enter自動檢測。

# 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] : 

現在,將’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

安裝GMagick PHP擴展

運行以下命令來編譯和安裝GMagick PHP擴展。

# cd /usr/local/src
# wget https://pecl.php.net/get/gmagick
# tar xfvz gmagick
# cd gmagick-*
# phpize
# ./configure
# make
# make install

現在,將’gmagick.so’擴展添加到’/etc/php.ini’文件中。

# echo extension=gmagick.so >> /etc/php.ini

接下來,重新啟動Apache Web伺服器。

# systemctl restart httpd

通過運行以下命令來驗證gmagick PHP擴展。

# php -m | grep gmagick

gmagick

將以下文本翻譯為繁體中文:

或者,您可以在網站根目錄下創建名為「phpinfo.php」的文件(例如:/var/www/html/)。

# vi /var/www/html/phpinfo.php

添加以下代碼。

<?php

     phpinfo ();
?>

打開您喜歡的網絡瀏覽器,輸入「http://localhost/phpinfo.php」或「http://ip-addresss/phpinfo.php」,並驗證擴展。

Check Imagick Version
Verify Gmagick PHP Extension

Source:
https://www.tecmint.com/install-imagemagick-in-linux/