记一次php安装ImageMagick扩展
背景
将pdf转png图片
参考
在wamp server环境下安装php_imagick拓展
http://www.smallerpig.com/673.html
windows php安装ImageMagick扩展
http://blog.csdn.net/livelinux/article/details/50319853
Centos 安装ImageMagick 与 imagick for php步骤详解
https://www.cnblogs.com/xingmeng/p/4268043.html#undefined
本机wamp下安装php_imagick拓展
步骤
1.在php安装目录的ext文件夹下新建imagick文件夹
2.将该文件夹的路径添加到系统路径(path值).
3.从网址http://windows.php.net/downloads/pecl/releases/imagick/下载对应php版本的imagick(phpinfo中看php version,Compiler ,Architecture,这三个属性)
4.这里需要注意的是下载的文件区别,我们从文件名中来区分,例如php_imagick-3.2.0b2-5.5-nts-vc11-x86.zip
其中5.5是对应的php版本.
nts值代表该文件适用于IIS,ts代表该文件适用于Apache,
VC11和VC9是编译器的版本.我们可以适用phpinfo()命令来查看我们机器上php适用的是哪个版本(如图1)
x86代表适用32位系统,x64代表适用64位系统
5.下载好对应的zip文件后,将所有文件解压到我们第一步新建的imagick文件夹!
6.添加php_imagick.dll的完整路径到php.ini文件中.例如:extension=C:\wamp\bin\php\php5.5.12\ext\ext\imagick\php_imagick.dll
7.重启wamp服务器
8.运行phpinfo看看是不是已经成功添加拓展了
9.查看phpinfo中,查看ImageMagick supported formats内的值
输入phpinfo()看到imagick,就算装成功了,但这个时候还不能用,你会看到ImageMagick number of supported formats 为0,ImageMagick supported formats no value,还要安装ImageMagick ,phpinfo里面会写出要安装那个版本的,如:
1 | ImageMagick 6.9.3-7 Q16 x64 2016-03-27 http://www.imagemagick.org |
然后去下载这个ImageMagick 6.9.3-7 Q16 x64 版本的安装
记得版本要对得上号,要不然就会出现ImageMagick supported formats no value
安装完后重启,再输入phpinfo,就会看到ImageMagick supported formats不是空的了,这个时候就算安全成功
Centos 安装ImageMagick
1. 依次运行以下命令
1 | yum install ImageMagick |
1 | yum -y install php-devel |
2. 安装C编译器
1 | yum install gcc |
如果装不了gcc就用这个命令:
1 | yum install gcc gcc-c++ autoconf automake |
3. 安装imagick
1 | pecl install imagick |
4. 加载imagick到php
在/etc/php.ini 加上extension=imagick.so
5. 重启service httpd restart
6. 使用 phpinfo() 或运行 php -m | grep imagick 来查看是否安装成功
mac 上安装
安装php的imagick拓展
1 | brew reinstall php56-imagick --build-from-source |
安装ghostscript
1 | brew install ghostscript |
linux上安装
这次被坑惨了,linux是最近新的服务器里面没有安装过GD库,这个导致我后面多个坑
第一次安装走的是
https://www.cnblogs.com/xingmeng/p/4268043.html#undefined
里面的方法,
1 | yum install ImageMagick |
加载imagick到php
在/etc/php.ini 加上extension=imagick.so
重启service httpd restart
使用 phpinfo() 或运行 php -m | grep imagick 来查看是否安装成功
这次
1 | Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator,(ImagickKernel 不知道为什么没有这个,本机和mac上都有) |
结果提示错误,具体忘记了,估计是因为GD库没有引起的
之后照着
http://blog.csdn.net/snow_small/article/details/79173575
进行了编译安装
1、安装ImageMagic
1 | [root@localhost download] |
2、检查是否安装成功
1 | [root@localhost ImageMagick-7.0.7-22]# /usr/local/imagemagick/bin/convert -version |
我的坑
但是报下面这个错误
1 | Postscript delegate failed |
是ghostscript
没安装,可实际是安装的在/usr/bin/gs
中,但apache死活说找不到(是权限问题),网上有个解决方案是把’/usr/local/bin/gs’做软连接到/usr/bin/gs
,可是我这边的情况刚好是倒过来的。
一狠心把ghostscript
给卸载了,重新编译安装了gs,这次真出现在了/usr/local/bin/gs
,建立了个软连接,真把这个问题解决了。
这次因为没有安装GD库,用的png版本太老,Delegates (built-in): fontconfig freetype jng jpeg (png 没显示) x xml zlib
一直提示no decode delegate for this image format PNG
因为没有安装GD库,我在编译ImageMagick-7.0.7-22
时没有将png
编译进行
直到手动添加了png库,才最终发现没有安装GD库
我们在Centos安装ImageMagick教程中讲述了如何安装ImageMagick,安装完毕之后发现程序并不支持png和jpeg格式的图片,但是这两种图片又是我们平时所常见的,所以我们还要进一步地配置,是其支持png和jpeg格式.
首先我们安装所需的库文件.
1 | yum install tcl-devel libpng-devel libjpeg-devel ghostscript-devel |