先卸载从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