欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CentOS安装ImageMagick+PHP Imagick+Ghostscript

程序员文章站 2022-07-13 14:10:30
...

CentOS 6、7安装ImageMagick+PHP Imagick+Ghostscript


1. 前言

PHP开发需要处理pdf水印盖章,使用的是ImageMagick扩展,在部署环境的时候遇到了麻烦,网上很多文章好多的坑,部署成功特记录一下过程。

2. 基础环境

基础环境也叫前提条件,所谓最坑的就是这,好多文章没有写这块,上来不是yum 就是 ./configure。不了解当前服务器环境状态是很难成功的。

我有两台服务器,下面分别介绍。

2.1 CentOS 6.9

1- CentOS-6.9-x86_64-minimal.iso
2- Lnmp 1.4 - 官网
3- Ghostscript 9.19 - 官网


这是已经准备好的环境,Lnmp 一键安装包已安装完成,顺便说下这个包真好用,而且一直有更新,具体安装使用见官网

安装好的PHP环境
1. php 5.5.56
2. mariadb 10.1.23
3. nginx 1.14

2.2 CentOS 7.5

1- CentOS-7-x86_64-Minimal-1804.iso
2- Lnmp 1.4 - 官网
3- Ghostscript 9.23 - 官网
同样先安装lnmp

安装好的PHP环境
1. php 7.1.17
2. mariadb 10.1.23
3. nginx 1.14

3. 安装ImageMagick

这里用yum 安装就可以啦,虽然版本低点,不影响使用,此步骤6、7通用。

# yum install -y ImageMagick ImageMagick-devel
# pecl install imagick

安装完成后会自动生成 imagick.so 文件。

文件路径:/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/imagick.so

并且自动在 /usr/local/php/etc/php.ini 头部加上了 extension=imagick.so
把这一行 移动文件 末尾。
顺便把去除禁用函数 exec, shell_exec

注意:exec, shell_exec 非常重要,不要禁用它,这两个用于执行 Ghostscript

重启服务
lnmp php-fpm restart

在phpinfo看到如下图说明成功了
CentOS安装ImageMagick+PHP Imagick+Ghostscript

4. 安装 Ghostscript

Ghostscript 用于支持 ImageMagick,此步骤6、7通用,只是安装的版本不同。
CentOS6 下载 Ghostscript 9.19 - 官网
CentOS7 下载 Ghostscript 9.23 - 官网

//编译安装
# wget -c https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs923/ghostscript-9.23.tar.gz
# tar xzvf ghostscript-9.23.tar.gz
# cd ghostscript-9.23
# ./configure && make && make install

验证
输入命令 gs –version 返回 9.23 说明成功

5. 后记

最重要的是 软件版本
最重要的是 软件版本
最重要的是 软件版本

如果你注意到了 CentOS 6.9 安装的是 Ghostscript 9.19,CentOS 7.5安装的是 Ghostscript 9.23,说明你是认真阅读了本文章,为什么版本不一样呢?因为高版本的Ghostscript需要更高的 glibc 编译,CentOS 6.9默认安装的版本比较低。只为了安装Ghostscript 也没必要升级 glibc。