ImageMagick 安装
wget http://www.imagemagick.org/download/ImageMagick.tar.gz
tar zxvf ImageMagick.tar.gz
cd ImageMagick-6.8.9-7
./configure --prefix=/usr/local/ImageMagick/ --enable-lzw --with-modules --with-quantum-depth=8?--enable-shared --disable-openmp
make && make install
编译安装过程时间比较长,请耐心等待!
安装完成后执行:/usr/local/ImageMagick/bin/convert logo: logo.gif 测试一下 ImageMagick 是否可以正常运行,如果没有提示任何错误,然后检查执行命令时所在的目录,看看是否生成了logo.gif 这个文件。
也可以在安装完成后,运行convert -version命令检测,应该会出现类似下面内容的信息:
<p>Version: ImageMagick 6.8.9-7 Q8 x86_64 2014-08-20 http://www.imagemagick.org<br>
Copyright: Copyright (C) 1999-2008 ImageMagick Studio LLC</p>
convert默认安装到了/usr/local/ImageMagick/bin下面,上面的命令可能提示找不到convert命令,那么可以在/usr/bin下面创建一个到/usr/local/ImageMagick/bin/convert的链接:
cd /usr/bin
ln -s /usr/local/ImageMagick/bin/convert convert
ImageMagick安装说明
1、在安装时也可以加入–without-xxx来禁止一些选项,具体的就 ./configure –help | grep without来查看有哪些吧;
2、关于Q8,Q16,Q32的说明:
3、–enable-shared 编译成共享库;
4、–disable-openmp 禁用多线程,使用多线程性能并没有提高,但CPU占用达到了100%,所以禁用;
5、卸载命令:make uninstall。
PHP扩展imagick安装
wget http://pecl.php.net/get/imagick-3.1.2.tgz
tar zxvf imagick-3.1.2.tgz
cd imagick-3.1.2
phpize //每个服务器位置不一样
./configure --with-php-config=/你的php路径/php-config --with-imagick=/usr/local/ImageMagick/
make && make install
imagick安装执行结果
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
Installing header files: /usr/local/php/include/php/
生成imagick.so到/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/,然后手动配置php.ini使其生效,手工在php.ini里面添加上imagick扩展,extension=imagick.so,重启php,检查phpinfo,看是否加载成功,该扩展不是使用–with-imagick在编译PHP的时候静态编译进PHP,而是类似memcache的方式,编译成so模块动态加载的。
imagick无法安装时的解决办法
有时安装imagick是会提示:
“configure: error: not found. Please provide a path to MagickWand-config or Wand-config program.”
这是因为只安装了“ImageMagick”而没有安装“ImageMagick-devel”,通过下面的命令行安装ImageMagick-devel,然后重新按上面的步骤安装imagick就好了。
yum install ImageMagick-devel
Discuz!X上的ImageMagick设置
登录Discuz!X后台,在“上传设置”里选择ImageMagick,并在ImageMagick程序安装路径写上:/usr/local/ImageMagick/bin/
关闭多线程
单线程转换每张图片大概50ms,两个线程却需要500ms?
用convert –version命令查看,看是否出现openMP字样,出现的话,是因为机器不支持openMP导致的,需要重新编译./configure –disable-openmp,再进行安装。