由于ImageMagick7以下不支持heic等图片格式,所以重新安装了ImageMagick7.1版本支持heic格式,并写此文章记录一下。

如果安装过程中遇到一些未知的错误,https://imagemagick.org/script/download.php 可以去官网看文档解决,或者评论一起解决。

在Linux(centos7)上安装ImageMagick7.1库以及php的Imagick扩展

1.在Linux上安装ImageMagick7.1

安装之前需要配置一下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

安装依赖库(这里我只安装heic(heif) 的依赖,其他格式类似一样安装)

安装x265(libheif依赖)

wget https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.13.03.tar.gz

tar -zxvf nasm-2.13.03.tar.gz

cd nasm-2.13.03

./autogen.sh && ./configure && make && make install

安装libheif依赖

wget https://github.com/strukturag/libheif/releases/download/v1.12.0/libheif-1.12.0.tar.gz

tar -zxvf libheif-1.12.0.tar.gz

cd libheif-1.12.0

./autogen.sh && ./configure && make && make install

最后安装ImageMagick

wget https://imagemagick.org/archive/ImageMagick-7.1.0-39.tar.gz

tar -zxvf ImageMagick-7.1.0-39.tar.gz

cd ImageMagick-7.1.0-39

./configure && make && make install

设置环境变量

echo "export PATH=$PATH:/usr/local/ImageMagick/bin" >> /etc/profile

//如果需要移除旧版本

yum remove ImageMagick -y

//加载环境变量

source /etc/profile

//验证版本安装是否成功

convert -version

//查看支持格式列表

convert -list format

在编译的过程中如果出现报错

error: 'libraw_output_params_t' has no member named 'no_interpolation'

则需要升级一下你的 libraw 版本

//先卸载当前libraw

yum remove libraw

//安装更高版本的libraw

(rpm安装命令)

rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/LibRaw-0.19.4-1.el7.x86_64.rpm

(yum安装命令)

yum localinstall -y https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/LibRaw-0.19.4-1.el7.x86_64.rpm

安装完重新编辑即可

2.安装PHP的Imagick扩展

//下载、解压、安装imagick-3.4.4

wget https://pecl.php.net/get/imagick-3.4.4.tgz

tar -zxvf imagick-3.4.4.tgz

cd imagick-3.4.4.tgz/

/usr/local/php/bin/phpize

//ImageMagick 6.8以上版本目录为/usr/local/include/ImageMagick-X,在configure之前先做下软连接

ln -s /usr/local/imagemagick/include/ImageMagick-7 /usr/local/imagemagick/include/ImageMagick

./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick

make && make install

最后在php.ini中加入imagick.so扩展即可

extensions=imagick.so

通过升级ImageMagick7支持heic格式处理,由于我们服务器是aws的,在安装的过程中可谓一波三折。不过好在最终也是成功安装完成。希望记录下来过程,给有需要的朋友们一点帮助。

博客地址:https://www.goldenleek.top

欢迎骚扰~

安装ImageMagick7.1库以及php的Imagick扩展的更多相关文章

  1. 转 ImageMagick及PHP的imagick扩展的安装及配置

    imagick是一个PHP的扩展,用ImageMagick提供的API来进行图片的创建与修改,不过这些操作已经包装到扩展imagick中去了,最终调用的是ImageMagick提供的API Image ...

  2. 通过php安装Imagick扩展给动态gif图片打水印

    通过php安装Imagick扩展给动态gif图片打水印 一直以来php处理图片都是以gd为主流,直到近些年Imagick的使用才渐渐变多. gd通常用来缩放图片,给图片打水印等基本功能,对于复杂效果如 ...

  3. linux下 安装 ImageMagick 及其 php imagick扩展(转)

    linux下 安装 ImageMagick 及其 php imagick扩展 PHP版本7.1.3 : ImageMagick版本 ImageMagick-7.0.8-3: PHP扩展imagick版 ...

  4. 安装Python算法库

    安装Python算法库 主要包括用NumPy和SciPy来处理数据,用Matplotlib来实现数据可视化.为了适应处理大规模数据的需求,python在此基础上开发了Scikit-Learn机器学习算 ...

  5. kali4.0 安装32位库

    一.前情提要: OS:Kali4.0 64bit 二.安装32位库: 错误方法:sudo apt-get install lib6-i386 正确方法如下: 1.先以root用户身份登陆: su ro ...

  6. ubuntu 下安装32位库 ia32-libs方法

    这两天在整Linux系统,要配置JDK,SDK环境,但是SDK配置使用的时候,提示没有权限. 需要安装32位库来解决,还有就是在修改文件的时候提示不能修改.唉...反正就是没有办法正常操作啦 后来根据 ...

  7. phpstudy 出现“请自行检查是否安装VC9运行库??”问题 -- 缺少vc9库

    phpStudy是一款PHP调试环境的程序集成包,该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便.好用的 ...

  8. [django]在virtualenv下安装的第三方库的使用方法

    在virtualenv下安装的第三方库,例如south, requests等,如果想在django中使用,需要先将库添加到settings.py的INSTALLED_APPS中, 以south, re ...

  9. 解决安装vc2005运行库时提示Command line option syntax error.Type Command/?for Help

    安装vc2005运行库时提示 这是因为它要自解压到用户的临时文件夹下,如果用户名中带中文,就会报错. 简单的解决方法是,手动解压之,再安装 当然,你也可以修改用户名或者再新建个用户.

随机推荐

  1. drf认证、权限、限流

    认证Authentication(5星) 认证逻辑及编写步骤 逻辑 认证类:用来校验用户是否登录,如果登录了,继续往下走,如果没有登录,直接返回 编写步骤 -第一步:写一个类,继承BaseAuthen ...

  2. 定时执行任务-springboot

    定时执行任务-springboot 先看两个接口 这两个接口springboot已经帮我们封装好了,我们不需要去手动使用 TaskScheduler //任务调度者 TaskExecutor //任务 ...

  3. Java基础之详谈IO流

    Java基础知识.IO流详细讲解.你所要的IO这里都有

  4. CesiumJS 2022^ 原理[2] 渲染架构之三维物体 - 创建并执行指令

    目录 回顾 预备知识:指令 预备知识:通道 1. 生成并执行指令 1.1. Primitive 生成指令 1.2. Context 对象负责执行 WebGL 底层代码 2. 多段视锥体技术 3. 指令 ...

  5. Redux基础必知必会 reducer拆分 中间件 单向数据流

    什么是 redux? 三大原则? 什么是 redux Redux 是一个基于 js 的全局可预测状态容器,主要用于现代前端框架中进行全局状态管理,能够在不同组件之间进行状态共享 Redux 常与 Re ...

  6. AcWing 165. 小猫爬山 DFS

    165. 小猫爬山 https://www.acwing.com/problem/content/description/167/ 题目 思路 dfs每一个小猫,对于要不要开新车的状态再进行dfs(注 ...

  7. 反射解决微信开发加解密illegal key size,不需要修改JDK jar包

    在微信开发时,消息接口时,涉及到消息加密,抛出了 java.security.InvalidKeyException: Illegal key size 的异常,异常堆栈如下: 按照网上的解决方案,都 ...

  8. ElasticSearch7.3学习(二十)----采用restful风格查询详解

    1.Query DSL入门 1.1 DSL DSL:Domain Specified Language,特定领域的语言.es特有的搜索语言,可在请求体中携带搜索条件,功能强大. 查询全部 GET /b ...

  9. Spring Security实现基于RBAC的权限表达式动态访问控制

    昨天有个粉丝加了我,问我如何实现类似shiro的资源权限表达式的访问控制.我以前有一个小框架用的就是shiro,权限控制就用了资源权限表达式,所以这个东西对我不陌生,但是在Spring Securit ...

  10. 初始celery

    使用celery执行异步任务 下载celery,redis pip3 install celery#在这里我使用的是celery==4.2.2#当celery版本过低的话celery配置可能会略有不同 ...