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. webbrowser 强制 ie11

    假设winform程序的名称是TestWebBrowser.exe. 1.在开始菜单内输入"regedit.exe",进入注册表编辑器 2.找到注册表项:HKEY_LOCAL_MA ...

  2. 【转】C# / Extension 扩展方法

    扩展方法简介扩展方法使你能够向现有类型"添加"方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调 ...

  3. Android使用pull解析xml格式的数据

    dom解析:基于全文加载的解析方式   sax解析:基于事件的逐行解析方式  pull解析:同sax              XmlPullParser     //解析xml文件读取短信内容    ...

  4. Java.lang.Integer类中toString(int i, int radix)的具体实现

    Java.lang.Integer.toString(int i,int radix)方法可以实现将一个int类型的10进制的数据转换为指定进制的数据. api文档中介绍: 返回第二个参数指定的基数中 ...

  5. 扩展NSDate类实现快捷使用 —— 昉

    获取当前日期和时间: +(NSDate *)getCurrentDate{ NSDate *now = [NSDate date]; return now; } 将日期转换为字符串: +(NSStri ...

  6. 简介GitHub的使用方法--管理个人代码

    转自 http://blog.csdn.net/tengyeyijiu/article/details/46446283git是一个分布式版本控制系统,最初由linus torvalds编写,用作Li ...

  7. Redis 学习笔记(五)高可用之主从模式

    上一节提到了 Redis 的持久性,也就是在服务器实例宕机或故障时,拥有再恢复的能力.但是在这个服务器实例宕机恢复期间,是无法接受新的数据请求.对于整体服务而言这是无法容忍的,因此我们可以使用多个服务 ...

  8. vue中的钩子函数

    什么是vue的钩子函数? Vue 实例在被创建时,会经过一系列的初始化过程,初始化过程中会运行一些函数,叫做生命周期钩子函数,通过运用钩子函数,用户在可以在Vue实例初始化的不同阶段添加自己的代码,以 ...

  9. Docker prefereces

    https://docs.docker.com/docker-for-mac/#preferences-menu docker 的镜像命令需要抽时间了解

  10. 1、Golang基础--Go简介、环境搭建、变量、常量与iota、函数与函数高级

    1 Go语言介绍 1 golang-->Go--->谷歌公司 2009年 golang:指go语言,指的go的sdk goland:软件,ide:集成开发环境 Java写的 2 Go是静态 ...