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. Python绘图工具turtle库的使用

    #PythonDraw.py import turtle #引入了一个绘图库(海归库) turtle.setup(650,350,200,200) #设置一个窗体 turtle.penup() #将画 ...

  2. kafka经验

    1.kafka集群搭建 解压 配环境变量 修改配置文件 2.编写管理脚本去管理集群 3.kafka常用命令 4.kafka监控 5.分享kafka经验

  3. C 数组排序后输出至文件

    如题 C实现 #include<stdio.h> #define COUNT 9 //数组长度+1 #define FILE_NAME "data.txt" //文件名 ...

  4. Tomcat启动报错org.apache.catalina.core.StandardContext listenerStart

    感谢原文作者:西北码农 原文链接:https://blog.csdn.net/bitree1/article/details/72236633 解决方法: 1.检查配置信息有无异常:如 web.xml ...

  5. idea创建WebService服务端和客户端

    创建服务端 1.file–>new–>project 2.点击next后输入服务端名,点击finish,生成目录如下 3.在 HelloWorld.Java 文件中右击,选 WebServ ...

  6. Guava学习之EventBus

    一.EventBus的使用案例 EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现.对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单 ...

  7. ldconfig及LD_LIBRARY_PATH

    ldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令:ldconfig.ldconfig 命令的用途,主要是在默认搜寻目录 (/lib和/usr/lib ...

  8. 2022寒假集训day3

    day3:四道检测题,花了大半天时间. T1 子集和问题 问题描述 子集和问题的一个实例为<S,c>.其中S={x1,x2,-,xn}是一个正整数的集合,c是一个正整数.子集和问题判定是否 ...

  9. SQL——with as 临时表

    一.WITH AS的含义    WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到.有的时候,是 ...

  10. c语言数据结构,你可能还不知道的顺序表

    数据结构顺序表 顺序表定义 1,前言 线性表的顺序存储又称为顺序表.它是用一组地址连续的存储单元依次存储线性表中的数据元素,从而使得逻辑上相邻的两个元素在物理位置上也相邻.其最大的特点就是:元素的逻辑 ...