windows 平台 php_Imagick 拓展遇到的那些坑!
我的php环境是使用了phpstudy
下载地址:http://www.phpstudy.net/a.php/211.html
最终并未解决问题 持续更新~
1.首先到官网上
http://www.imagemagick.org/script/index.php
1.下载ImageMagick客户端 。这是因为:imagick组件 是基于ImageMagick 的接口类似MySql
下载选择要有dll的:选择和你客户端对应的平台构架32位(x86),64位(x64)
安装这个 mageMagick-7.0.3-8-Q16-x64-dll.exe 一路下一步完成
2.下载php_magick组件。
注意要选择对应版本—线程安全 和非线程安全版本 php版本64位和32位
http://pecl.php.net/package/imagick
2.1 解压imagick 组件包 将其中的php_imagick.dll 复制到对应 /php/etc/ 目录中
2.2 imagick中的其他CORE_xx.dll 给复制到对应php目录下
2.3 php.ini 配置文件中加上 extension=php_imagick.dll
3.重启服务器,查看phpinfo 你应该能看到imagick组件
但这时还不能用 :
至今未解决
最新更新2016/12/05====================================
不知为何查看了下 phpinfo() 发现:竟然可以了?
我来猜想下,这到底是怎么一回事?
1.首先先到这位大神的写的关于 Imagick拓展:http://www.cnblogs.com/wangqishu/p/5609950.html
里面有提到也许是ImageMagick的版本问题 需要下载6.8.9 以下的版本,当时我采取过这个但是并没有用~
2.关于环境变量的问题:安装ImageMagick的时候需要把ImageMagick所在的目录添加环境变量,否则不能使用Imagick
之前添加过环境变量,还听取某些意见:在系统变量中添加了MAGICK_HOME 的环境变量在里面添加
E:\soft\ImageMagick-6.8.9-Q16\modules\coders ***你的imageMagick 目录下的modeles\coders目录
但仍然没有解决
3.php扩展 调试命令:
在cmd运行: php --ri imagick
如果显示 ImageMagick number of supported formats 0 说明需要新建一个环境变量MAGICK_HOME
我当时的情况是 cmd下
php --ri imagick:number of supported formats 显示 221
phpinfo:number of supported formats 显示 0
然后试尽各种方法都不能 让phpinfo 正常支持
今天打开phpinfo 竟然就都好了? 明明之前有重启过电脑还是没用啊?求解惑??
发现问题了!切换Nginx服务器就好了,Apache服务器就显示为0!
转战Linux
1.在测试安装imageMagick时
使用convert <file> 时报 error while loading shared libraries
解决:
/etc/ld.so.conf 中加入/usr/local/lib这一行
保存之后,再运行:/sbin/ldconfig –v更新一下配置 即可
2.在使用组件加载pdf转图片的时候就会报出
Fatal error: Uncaught exception ‘ImagickException’ with message ‘Postscript delegate failed `23_1235606503.pdf’: No such file or directory @ pdf.c/ReadPDFImage/612′ in get_thumbnail.php:93
Stack trace:
这是 linux 没有安装 ghostscript 的缘故(pdf相关组件)
你需要 yum -y install ghostscript;
装完之后就能解决