赞
踩
由于ImageMagick7以下不支持heic等图片格式,所以重新安装了ImageMagick7.1版本支持heic格式,在网上找了很多资料,归纳总结并写此文章记录一下。
官网:https://imagemagick.org/script/download.php
//如果需要移除旧版本,建议是干掉,旧版本是6.9.10.68-5.el7_9
yum remove ImageMagick -y
在Linux(centos7.9)上安装ImageMagick7.1.1-21库以及php的Imagick扩展
安装之前需要配置一下pkg-config,以便 ImageMagick 可以在您的系统上找到某些可选的委托库
- PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib64/pkgconfig:/usr/local/lib/pkgconfig
- export PKG_CONFIG_PATH
- LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/usr/local/lib:/usr/local/lib64
- export LD_LIBRARY_PATH
- wget https://www.nasm.us/pub/nasm/releasebuilds/2.16/nasm-2.16.tar.gz
- tar -zxvf nasm-2.16.tar.gz
- cd nasm-2.16
- ./autogen.sh && ./configure && make && make install
- wget https://github.com/strukturag/libheif/releases/download/v1.15.2/libheif-1.15.2.tar.gz
- tar -zxvf libheif-1.15.2.tar.gz
- cd libheif-1.15.2
- ./autogen.sh && ./configure && make && make install
-
- heif-info
This library uses the CMake build system (the earlier autotools build files have been removed in v1.16.0).
libheif.1.16(包括1.16)之后的版本取消了autogen的安装方式,使用cmake,并且CMake >= 3.21
安装cmake
- yum remove cmake
- wget https://cmake.org/files/v3.21/cmake-3.21.0.tar.gz
- tar -zxvf cmake-3.21.0.tar.gz
- cd cmake-3.21.0
- ./bootstrap && make -j4 && sudo make install
- ln -s /usr/local/bin/cmake /usr/bin/cmake
- cmake --version
- wget https://github.com/strukturag/libheif/releases/download/v1.17.5/libheif-1.17.5.tar.gz
- tar -zxvf libheif-1.17.5.tar.gz
- cd libheif-1.17.5
- mkdir build
- cd build
- cmake --preset=release ..
- cd ..
- make && make install
-
- wget https://imagemagick.org/archive/ImageMagick-7.1.1-21.tar.gz
- tar -zxvf ImageMagick-7.1.1-21.tar.gz
- cd ImageMagick-7.1.1-21
- ./configure --prefix=/usr/local/imagemagick && make && make install
注意:如果./configure 的结果列表中没有HEIC=yes yes项,说明HEIC没有安装成,重来,并检查是不是有报错
设置环境变量
- vim /etc/profile
- export MAGICK_HOME=/usr/local/imagemagick
- export PATH=$PATH:$MAGICK_HOME/bin
-
- //加载环境变量
- source /etc/profile
- //验证版本安装是否成功
- convert -version
- //查看支持格式列表
- convert -list format
- 在编译的过程中如果出现报错
注意:如果convert -list format 的结果列表中没有HEIF项,说明安装失败,重来,检查安装过程中是否有报错
- wget https://pecl.php.net/get/imagick-3.7.0.tgz
- tar xvf imagick-3.7.0.tgz
- cd imagick-3.7.0
- /www/server/php/74/bin/phpize
- ./configure --with-php-config=/www/server/php/74/bin/php-config --with-imagick=/usr/local/imagemagick
- make && make install
修改php.ini文件
- [ImageMagick]
- extension = /www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/imagick.so
重启web服务,分别查看php -m 和phpinfo
到此,大功告成,尝试过使用yum,很麻烦各种依赖包,暂时没成功
PS:如果反复尝试安装,建议重启系统
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。