linux下 安装 ImageMagick 及其 php imagick扩展

PHP版本 7.1.29 ;
ImageMagick版本 ImageMagick-7.0.8-68;
PHP扩展imagick版本 imagick-3.4.4;

ImageMagick 安装(第一步)

1.下载ImageMagick安装包

2.解压安装包

#tar xvfz ImageMagick.tar.gz

3.进入文件

#cd ImageMagick-7.0.8-68/

4…设置安装路径.后面安装php扩展需要用到;/usr/local/imagemagick

#./configure --prefix=/usr/local/imagemagick

5.编译

#make && make install

PHP imagick扩展安装(第二步)

1.下载imagick-3.4.4.tgz

2.解压安装包

#tar zxvf imagick-3.4.4.tgz

3.进入安装文件

#cd imagick-3.4.4/

4.执行phpize命令

#/usr/local/php/bin/phpize

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

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

6.执行configure配置

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

7.编译

#make
#make install

查看PHPinfo信息,搜索extension_dir(以windows的为例),看下路径,然后在,php文件添加上

修改php.ini

extension = "php_imagick.dll"
linux 应为
extension = "php_imagick.so"

(完成)

问题处理 : imagick无法安装时的解决办法

首先确认各种格式的图片代理有没有安装

错误信息

> 安装 ImageMagick 代理
- jpeg 代理 https://www.imagemagick.org/download/delegates/jpegsrc.v9b.tar.gz
- png 代理: https://www.imagemagick.org/download/delegates/libpng-1.6.31.tar.gz
- GIF 代理 https://www.imagemagick.org/download/delegates/freetype-2.8.1.tar.gz

docker的alpine系统中需要apk安装:

apk add jpeg-dev libpng-dev freetype-dev

有时安装imagick是会提示:

1
“configure: error: not found. Please provide a path to MagickWand-config or Wand-config program.”

这是因为只安装了“ImageMagick”而没有安装“ImageMagick-devel”,通过下面的命令行安装ImageMagick-devel,然后重新按上面的步骤安装imagick就好了。

1
yum install ImageMagick-devel

或者

sudo apt-get install libmagickcore-dev libmagickwand-dev

扩展- PHP imagick扩展安装(第二步)可能会遇到的问题解决:

(;configure通过,在make时出现错误error: wand/MagickWand.h: No such file or directory
解决办法:
#yum install gtk2-devel
#export PKG_CONFIG_PATH=/usr/local/imagemagick/lib/pkgconfig/
;
;然后重新安装imagick
;
#cd imagick-3.4.3RC3/
#/usr/local/php/bin/phpize
#./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick
#make
#make install)

修改PHP配置文件(第三步)

修改php.ini文件,添加extension=fileinfo.so

重启nginx和php

nginx重启命令:systemctl restart nginx

php重启命令:systemctl restart php-fpm

3.安装Ghostscript

下载地址 https://www.ghostscript.com/download/gsdnld.html

wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs926/ghostscript-9.26-linux-x86_64.tgz

tar zxvf ghostscript-9.26-linux-x86_64.tgz

cd ghostscript-9.26-linux-x86_64

mv gs-926-linux-x86_64 /usr/bin/gs

完成

PHP pdf转png linux版本的更多相关文章

  1. 让PDF.NET支持不同版本的SQL Server Compact数据库

    最近项目中需要用到嵌入式数据库,我们选用的数据开发框架是PDF.NET(http://www.pwmis.com/SqlMap/),之前的博文已经总结了让PDF.NET支持最新的SQLite,今天我们 ...

  2. 使用VS+VisualGDB编译Linux版本RCF

    RPC通信框架--RCF介绍中说了,RCF本身是支持跨平台的,其代码放到Linux平台,是可以通过gcc.make等工具,编译通过的. 官方提供的源码中,只有cmake编译脚本,并没有提供Makefi ...

  3. 查看linux版本

    http://nameyjj.blog.51cto.com/788669/557424 1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version     ...

  4. 最稳定 性能最好 的 Linux 版本?

    Ubuntu太他妈不稳定了,简直是一坨屎 CentOS.Ubuntu.Debian三个linux比较异同http://blog.csdn.net/educast/article/details/383 ...

  5. Ubuntu下查看linux版本,内核版本,系统位数,gcc版本

    1. 查看linux版本  sunny@ubuntu:~$cat /etc/issueUbuntu 11.04 \n \l 2. 查看内核版本1) sunny@ubuntu:~$ cat /proc/ ...

  6. 为Linux版本Oracle 11gR2配置HugePage

    HugePage是Oracle在Linux版本下一种性能优化手段.对于共享内存区域(SGA)的数据库系统,Oracle通常都推荐在操作系统层面配置上HugePage,为Oracle实例准备更大的可用共 ...

  7. 【转】 如何查看linux版本 如何查看LINUX是多少位

    原文网址:http://blog.csdn.net/hongweigg/article/details/7192471 一.如何得知自己正在使用的linux是什么版本呢,下面的几种方法将给你带来答案! ...

  8. 转:如何查看linux版本 如何查看LINUX是多少位

    原文来自于:http://blog.csdn.net/hongweigg/article/details/7192471 一.如何得知自己正在使用的linux是什么版本呢,下面的几种方法将给你带来答案 ...

  9. 如何查看linux版本

    1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version   Linux version 2.6.9-22.ELsmp (bhcompile@crowe ...

随机推荐

  1. 2020-9-29 T3

    题意:给定一颗大小为 \(n(n \le 5 \times 10 ^ 4)\) 的树,保证树的生成方式随机,你需要选定两个点 \(x, y\),最小化: \[\sum\limits_{i = 1} ^ ...

  2. Java基础之Scanner类中next()与nextLine()方法的区别

    java中使用Scanner类实现数据输入十分简单方便,Scanner类中next()与nextLine()都可以实现字符串String的获取,所以我们会纠结二者之间的区别. 其实next()与nex ...

  3. VMware14安装windows7的详细过程

    感谢大佬:https://blog.csdn.net/u012230668/article/details/81701893 一.安装VMware虚拟机,以及下载一份ghost win7系统 下载地址 ...

  4. 电脑预装Office2016打开Word时点击保存弹出“word无法启动转换器RECOVR32.CNV”对话框问题的修复方法

    感谢大佬:https://blog.csdn.net/qq_41969790/article/details/85161701 1.问题描述:电脑预装的Office2016,家庭和学生版正版.每次打开 ...

  5. finally块

    /* finally 块: finally块的 使用前提是必须要存在try块才能使用. finally块的代码在任何情况下都会执行的,除了jvm退出的情况. finally非常适合做资源释放的工作,这 ...

  6. 注解的使用、拦截器使用、AOP切面使用

    Java 自定义注解及使用场景 转载: https://www.jianshu.com/p/a7bedc771204 Java自定义注解一般使用场景为:自定义注解+拦截器或者AOP,使用自定义注解来自 ...

  7. Java经典案例之用三种方法求1~100以内素数之和

    素数,不能被除了1和本身以外整除的数被称为素数.接下来我用三种方式求得1~100以内素数. 方式一 外层每循环一次,内层就计算出这个数有几个因子,我们都知道素数的因子只有两个,所以如果个数为2就加进总 ...

  8. python基础语法_字符串编码

    Python常用字符编码 http://www.cnblogs.com/schut/p/8406897.html   Python常见字符编码间的转换   在字符串写入文件时,有时会因编码问题导致无法 ...

  9. 2018 PHP面试题

    2018 PHP面试题 题目来自<PHP程序员面试笔试宝典>,里面涵盖了近三年了各大型企业常考的PHP面试题,针对面试题提取出来各种面试知识也涵盖在了本书. 1.PHP常考基础 1.PHP ...

  10. rust连接oracle数据库遇到DPI-1047: Cannot locate a 64-bit Oracle Client library的解决方案

    这两天要实现一个用rust连接远程的oracle数据库的需求,所以就需要用rust连接oracle. 在github上面找到一个库,地址:https://github.com/kubo/rust-or ...