PHP 在 Windows 環境安裝 imagick

ImageMagick 是一套開源的圖片編輯工具,可以建立、編輯、轉換格式、建立縮圖等。在 PHP 或 Perl 使用 ImageMagick 編輯圖片十分好用。在安裝 ImageMagick 前,可以先依下列方式來檢測目前 PHP 的環境,再依 PHP 的環境安裝相對應的ImageMagick 版本。

檢查 PHP 版本

Z:\>php -v

PHP 8.1.17 (cli) (built: Mar 14 2023 23:07:43) (ZTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.1.17, Copyright (c) Zend Technologies
    with Xdebug v3.2.2, Copyright (c) 2002-2023, by Derick Rethans

或是下列指令

Z:\>php -i|find "PHP Version"

PHP Version => 8.1.17
PHP Version => 8.1.17

檢查是否為 Thread Safety

Z:\>php -i|find "Thread Safety"

Thread Safety => enabled

檢查 OS 版本

Z:\>php -i|find "Architecture"

Architecture => x64

ImageMagick 版本

VersionThread SafeArchitectureEstension
5.5Yesx86php_imagick-3.4.3-5.5-ts-vc11-x86.zip
5.5Yesx64php_imagick-3.4.3-5.5-ts-vc11-x64.zip
5.5Nox86php_imagick-3.4.3-5.5-nts-vc11-x86.zip
5.5Nox64php_imagick-3.4.3-5.5-nts-vc11-x64.zip
5.6Yesx86php_imagick-3.4.3-5.6-ts-vc11-x86.zip
5.6Yesx64php_imagick-3.4.3-5.6-ts-vc11-x64.zip
5.6Nox86php_imagick-3.4.3-5.6-nts-vc11-x86.zip
5.6Nox64php_imagick-3.4.3-5.6-nts-vc11-x64.zip
7.0Yesx86php_imagick-3.4.3-7.0-ts-vc14-x86.zip
7.0Yesx64php_imagick-3.4.3-7.0-ts-vc14-x64.zip
7.0Nox86php_imagick-3.4.3-7.0-nts-vc14-x86.zip
7.0Nox64php_imagick-3.4.3-7.0-nts-vc14-x64.zip
7.1Yesx86php_imagick-3.4.4-7.1-ts-vc14-x86.zip
7.1Yesx64php_imagick-3.4.4-7.1-ts-vc14-x64.zip
7.1Nox86php_imagick-3.4.4-7.1-nts-vc14-x86.zip
7.1Nox64php_imagick-3.4.4-7.1-nts-vc14-x64.zip
7.2Yesx86php_imagick-3.4.4-7.2-ts-vc15-x86.zip
7.2Yesx64php_imagick-3.4.4-7.2-ts-vc15-x64.zip
7.2Nox86php_imagick-3.4.4-7.2-nts-vc15-x86.zip
7.2Nox64php_imagick-3.4.4-7.2-nts-vc15-x64.zip
7.3Yesx86php_imagick-3.6.0-7.3-ts-vc15-x86.zip
7.3Yesx64php_imagick-3.6.0-7.3-ts-vc15-x64.zip
7.3Nox86php_imagick-3.6.0-7.3-nts-vc15-x86.zip
7.3Nox64php_imagick-3.6.0-7.3-nts-vc15-x64.zip
7.4Yesx86php_imagick-3.7.0-7.4-ts-vc15-x86.zip
7.4Yesx64php_imagick-3.7.0-7.4-ts-vc15-x64.zip
7.4Nox86php_imagick-3.7.0-7.4-nts-vc15-x86.zip
7.4Nox64php_imagick-3.7.0-7.4-nts-vc15-x64.zip
8.0Yesx86php_imagick-3.7.0-8.0-ts-vs16-x86.zip
8.0Yesx64php_imagick-3.7.0-8.0-ts-vs16-x64.zip
8.0Nox86php_imagick-3.7.0-8.0-nts-vs16-x86.zip
8.0Nox64php_imagick-3.7.0-8.0-nts-vs16-x64.zip
8.1Yesx86php_imagick-3.7.0-8.1-ts-vs16-x86.zip
8.1Yesx64php_imagick-3.7.0-8.1-ts-vs16-x64.zip
8.1Nox86php_imagick-3.7.0-8.1-nts-vs16-x86.zip
8.1Nox64php_imagick-3.7.0-8.1-nts-vs16-x64.zip

解壓縮 ImageMagick 檔案

依相對應的資訊下載相對應的 ImageMagick 版本,解壓縮放在 W:\php_imagick-3.7.0-8.1-ts-vs16-x64 。

複製檔案 php_imagick.dll

將檔案 php_imagick.dll 複製到目錄 W:\xampp\php\ext 。

新增系統環境變數 Path 路徑

在 Windows 的系統內容/環境變數/系統變數 的 Path ,增加 W:\php_imagick-3.7.0-8.1-ts-vs16-x64。

php.ini 設定 imagick

[imagick]
extension=php_imagick.dll
imagick.skip_version_check=true

檢測是否正常運作

Z:\>php  --ri imagick

imagick

imagick module => enabled
imagick module version => 3.7.0
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
Imagick compiled with ImageMagick version => ImageMagick 7.1.0-18 Q16 x64 2021-12-14 https://imagemagick.org
Imagick using ImageMagick library version => ImageMagick 7.1.0-18 Q16 x64 2021-12-14 https://imagemagick.org
ImageMagick copyright => (C) 1999-2021 ImageMagick Studio LLC
ImageMagick release date => 2021-12-14
ImageMagick number of supported formats:  => 263
ImageMagick supported formats => 3FR, 3G2, 3GP, AAI, AI, APNG, ART, ARW, ASHLAR, AVI, AVIF, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CLIPBOARD, CMYK, CMYKA, CR2, CR3, CRW, CUBE, CUR, CUT, DATA, DCM, DCR, DCRAW, DCX, DDS, DFONT, DJVU, DNG, DOT, DPS, DPX, DXT1, DXT5, EMF, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FARBFELD, FAX, FF, FILE, FITS, FL32, FLIF, FLV, FPX, FRACTAL, FTP, FTS, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, HALD, HDR, HEIC, HEIF, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, JXL, K25, KDC, KERNEL, LABEL, M2V, M4V, MAC, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORA, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PHM, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, POCKETMOD, PPM, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGB565, RGBA, RGBO, RGF, RLA, RLE, RMF, RSVG, RW2, SCR, SCREENSHOT, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TM2, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIFF, VIPS, VST, WBMP, WEBM, WEBP, WMF, WMV, WPG, X3F, XBM, XC, XCF, XPM, XPS, XV, YAML, YCbCr, YCbCrA, YUV

Directive => Local Value => Master Value
imagick.locale_fix => 0 => 0
imagick.skip_version_check => 1 => 1
imagick.progress_monitor => 0 => 0
imagick.set_single_thread => 1 => 1
imagick.shutdown_sleep_count => 10 => 10
imagick.allow_zero_dimension_images => 0 => 0

PHP 8.2 的 ImageMagick

因為官方目前並沒有針對 PHP 8.2 版作出相對應的版本,在github有解決方法可參考: issuecomment-1913594426 ,可以下載 php_imagick_3.7.0-php_8.2-vs16-x64.zip。注意,這個版本使用要小心,因為並不是官方釋出的版本。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *