WEB技术之后端技术

win7下Appserv或Xampp安装imagemagick以及php的imagick扩展教程并生成GIF缩略图(2018年版)

PHPer 2018-02-02 502次浏览 0条评论 0 0 0
PHP项目中,需要用到切图和缩图的效果,在linux测试服务器上很轻松的就安装好php imagick扩展。但是在本地windows开发环境,安装过程遇到好多问题,在此与大家分享。这里...

PHP项目中,需要用到切图和缩图的效果,在linux测试服务器上很轻松的就安装好php imagick扩展。但是在本地windows开发环境,安装过程遇到好多问题,在此与大家分享。这里的方法时候php5到php7

1. 下载 ImageMagick

优先下载地址:http://windows.php.net/downloads/pecl/deps/ 这里有低版本的

(注意这里下载的版本不能太高,不然运行不起来,这个版本是我测试正常的):


ImageMagick-6.9.3-7-vc14-x64.zip

备选下载地址:http://imagemagick.org/script/download.php#windows

下载最新版本 :ImageMagick-7.0.7-22-Q16-x64-dll.exe (注意这里的7.07是ImageMagick的版本,不是php对应的版本,)

(注:其实应该先安装php的imagick扩展再安装ImageMagick,根据imagick的版本安装对应版本的ImageMagick,我会在后面再细说。)

2. 安装 ImageMagick
安装 ImageMagick 到 PC 上。安装路径不能出现空格,否则无法使用(有空格发觉ImageMagick也能用)。安装时,一点选中把执行路径添加到 path 上,否则你就得手动去添加 path 路径了。

3. 测试安装

为了验证工作正常,在命令提示符窗口(win+r -> “cmd” -> Enter)输入以下:

magick logo: logo.gif
magick identify logo.gif
magick logo.gif win:

第一行命令会在当前目录下生成一个logo.gif图片

第二行命令会输出

D:\AppServ\www\test>magick identify logo.gif

logo.gif GIF 640x480 640x480+0+0 8-bit sRGB 256c 28576B 0.000u 0:00.000

第三行命令会打开这个gif文件,漂亮吧

f9ceb73a93-logo.gif

如果有任何其他问题,你可能需要 vcomp120.dll. 为了安装它, 下载 Visual C++ 2013 Redistributable Package.

4. 下载 php扩展 php_imagick.dll

首选下载地址:https://pecl.php.net/package/imagick

下载地址:https://pecl.php.net/package/imagick/3.4.3/windows

备用下载地址 http://www.peewit.fr/imagick/

dyn = dynamic, st = static, q16 = 16 bit, q8= 8 bit.

以上标识,同你下载的ImageMagick下载标识相同,本人用的是q16

5. 把dll文件重命名为php_imagick.dll,并放到php 扩展文件目录 php/ext 中。

6. 在 php.ini 配置文件中添加,extension=php_imagick.dll。

Appserv或XAMPP把CORE_RL_bzlib_.dll等除php_imagick.dll文件之外的文件放到对应的Appserv/Apache24/bin或xampp\apache\bin下,重启apache,如果没问题的话,就ok了。

如果你还没安装ImageMagick的话,安装了imagick扩展成功后显示是下面这样的

dedcf0724c-imagemagick02.jpg

如果已经安装了ImageMagick,正常的话显示应该是下面这样的。

7. 重启电脑,只重启apache不管用的情况下,重启下PC。因为扩展底层使用的是imageMagic软件,所以软件重启电脑,重新加载软件,并刷新path路径。

8. 重启后,打开 phpinfo页面,查看,扩展已经安装成功。如果还未安装成功,极有可能imagemagick软件版本过高,请选择更低一级的版本安装。

9. PHP测试代码,生成gif动态缩略图

<?php 
$image = new Imagick('old.gif'); 
$image = $image->coalesceImages(); 
foreach ($image as $frame) { 
$frame->thumbnailImage(47, 20); 
} 
$image = $image->optimizeImageLayers(); 
$image->writeImages('new.gif', true); 
?> 

10. 查看手册,学习API

相关扩展学习手册地址 http://uk3.php.net/manual/zh/book.imagick.php 手册中包含大量易用实例。

这里还有查看命令行参数的文档 http://www.imagemagick.org/Usage/



下面是网上找的另一个文章,这个讲的比较详细,但是不全面,对于Apache服务器用Appserv和Xampp集成的情况没讲到
...

登录 | 立即注册

更新于:2018-02-05 23:26:41

CentOS7下安装ImageMagick和PHP Imagick扩展

imagick是一个PHP的扩展,用ImageMagick提供的API来进行图片的创建与修改,不过这些操作已经包装到扩展imagick中去了,最终调用的是ImageMagick提供的API.


ImageMagick是一套软件系列,主要用于图片的创建、编辑以及转换等,详细的解释见ImageMagick的官方网站http://www.imagemagick.org/,ImageMagick与GD的性能要高很多,如果是在处理大量的图片时更加能体现ImageMagick的性能。

方法一:


1. 下载安装ImageMagick

  1. wget ftp://mirror.aarnet.edu.au/pub/imagemagick/ImageMagick-6.6.8-10.tar.gz
  2. tar -xzvf ImageMagick-6.6.8-10.tar.gz
  3. ./configure --prefix=/usr/local/imagemagick
  4. make
  5. make install

2. 下载安装Imagick (php扩展)
注:安装该扩展不要求安装ImageMagick
从http://pecl.php.net/package/imagick找到imagick的最新的版本


Linux代码

  1. wget http://pecl.php.net/get/imagick-3.1.0RC1.tgz
  2. tar -xzvf imagick-3.1.0RC1
  3. phpize
  4. ./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick
  5. make
  6. make install

make install执行结果显示:
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-pear和php-devel以及php ggc,如果已经安装会提示已经安装的confilct冲突,那么就无需安装了,直接跳到下一步)

1. 依次运行以下命令
  yum install ImageMagick
  yum install ImageMagick-devel
  yum install php-pear
  安装php-pear是为了使用pecl 中的 phpize
  yum -y install php-devel
  2. 安装C编译器
  yum install gcc
  如果装不了gcc就用这个命令:
  yum install gcc gcc-c++ autoconf automake
  3. 安装imagick
  pecl install imagick
  4. 加载imagick到php
  在/etc/php.ini 加上extension=imagick.so ...

    您需要登录后才可以评论。 登录 | 立即注册
    相关内容

    Yii2小部件Widget

    Widgets 小部件kop/yii2-scroll-pager:瀑布滚动翻页 样式不怎么好看,必须点击更多才能加载更多yii2-widget-linkpager:带分页大小的分页栏 用了,还不错的yii2-ajaxf...

    在太保工作中遇到的互联网以及内网问题记录

    外网访问m6理赔系统时,在影像上传时提示,IE已经对页面进行了修改,以帮助阻止跨站脚本。影像上传的SunApp已经安装,IE的安全设置也设了,还是不行,梁老师说关掉...

    IE如何取消阻止跨站脚本

    电销三期打印要安装PageOn的问题

    一些公司网址浏览器兼容性问题

    网址打开页面显示不全,增值税管理系统页面显示不全

    ​UCStar 聊天记录存在哪里

    内网用UcStar聊天记录文件存放路径

    公司内网浏览器设置问题

    各种应用安装包括驱动程序都要内网的管理员账号才能安装

    超省心游戏加速:Wireguard+udp加速(CentOS版)--(实测:超不省心),以后搜帖...

    Wireguard+udpspeeder+udp2raw游戏加速方案 ---------------------------------------错误报告及解决-----------...

    wireguard+udpspeeder+udp2raw多用户配置

    Wireguard+udpspeeder+udp2raw游戏加速方案改进版-实测有效

    WEB技术

    什么是WEB技术?下面会分前端技术和后端技术分别探讨。20180203未完待续。

    WEB技术之前端技术

    WEB技术之后端技术

    WEB应用转手机APP,手机APP制作平台推荐

    WEB应用与手机APP

    Android相关

    2017 年 Web 开发工程师技术发展路线图

    推荐内容

    基于CentOS7 Centos8平台搭建邮件服务器

    EwoMail​在Centos8上安装了,各种坑,各种报错。这个集成包太臃肿了。 20200416 EwoMail 已经弃用,国内的一家公司搞的坑爹产品。 20200418

    如何在RHEL8 / CentOS8上安装Webmin

    设置postfix作为邮件发送服务器

    查问我看笔记功能的实现过程-全文搜索待开启,试试yiisoft/yii2-sphinx

    查问我看笔记功能的实现的重点就是全文搜索,如果不用Yii自带的ActiveRecord的话,就要找扩展,先找了个yii-xunsearch,不行太差了,又找了yiisoft/yii2-elasticsearch,...

    yii2框架中使用sphinx使用搜索引擎 多条件选择搜索

    运行php composer.phar require --prefer-dist yiisoft/yii2-sphinx

    U盘安装U盘启动-U盘启动盘一键U盘装系统

    https://www.upandashi.com/ 先要做U盘启动盘,然后下载Win7镜像或Win7的Ghost文件,放到U盘里,然后插在电脑上做系统,注意主板要改成U盘优先启动。 ...

    MySQL数据库设计总结

    规则1:一般情况可以选择MyISAM存储引擎,如果需要事务支持必须使用InnoDB存储引擎。注意:MyISAM存储引擎 B-tree索引有一个很大的限制:参与一个索引的所有字...

    什么是B-Tree

    二叉查找树、平衡二叉树、红黑树、B-/B+树性能对比