• 先卸载从apt安装的ImageMagick

    apt remove --purge imagemagick-6-common

    编译安装最新的ImageMagick

    直接编译会发现很多图片格式不支持,是因为缺少模块

    直接从apt安装的ImageMagick 是自带非常多的模块的

    Delegates (built-in): bzlib djvu fftw fontconfig freetype heic jbig jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png tiff webp wmf x xml zlib

    我这里要安装两个包,编译的时候才会添加heic和webp模块

    libwebp-dev 支持webp格式

    libheif-dev 支持avif格式

    apt install libwebp-dev libheif-dev
    
    下载解压最新的imagemagick源码
    ./configure
    make -j4
    make install
    ldconfig /usr/local/lib

    接着编译安装 imagick

    在github下载最新的imagick源码,解压进入目录
    phpize
    ./configure
    make

    imagick.so 文件会自动生成到php存放模块的目录内

    extension=imagick.so 添加到 php 的配置文件里

    vim /etc/php/8.1/fpm/conf.d/imagick.ini
    添加
    extension=imagick.so