研发需要转换webp图片,当前服务器环境不支持,需要追加相关插件。
网上查找了很多资料,有的三五句一带而过,有的洋洋洒洒,一堆代码,
没找到一篇操作性强的文章。
在测试服务器上倒腾了半天,好不容易装上去了。
本着为我这样的人方便的原因,这里整理了一下实际操作过程,配上自己的理解,
希望可以让后来者少走弯路。
服务器相关环境:CentOS7.3 ,PHP7.0

一、安装libwebp库
这个libwebp库,相当于字库文件,应该首先安装,才能被后续安装的其他软件(imagemagick)识别。

1.1、检查libwebp是否安装,无
[root@mizhu01 ~]# rpm -qa|grep libwebp

1.2、安装libwebp,OK
# yum -y install libwebp libwebp-devel libwebp-tools
同时安装libwebp , libwebp-devel  , libwebp-tools 三个库。

1.3、检查libwebp版本,OK
[root@mizhu01 ~]# rpm -qa|grep libwebp
libwebp-0.3.0-7.el7.x86_64
libwebp-tools-0.3.0-7.el7.x86_64
libwebp-devel-0.3.0-7.el7.x86_64

二、安装图片文件处理软件imagemagick
这个图片文件处理imagemagick软件,就是一个类似于画图类的软件,可以保存处理很多文件格式,
前提是这些文件格式的库文件(libwebp)已安装。

2.1检查centos的/usr/local/imagemagick是否安装,无
[root@mizhu01 ~]# ls /usr/local/
aegis         cloudmonitor  freetype  include  libexec  memcached  openssl   README.md  share
bin           curl          frps      lib      LICENSE  mysql      php       redis      src
CHANGELOG.md  etc           games     lib64    man      n          pureftpd  sbin       tengine
[root@mizhu01 ~]#

2.2、安装imagemagick,OK
下载源代码
[root@mizhu01 ~]# wget https://www.imagemagick.org/download/ImageMagick-7.0.9-2.tar.gz
解压
#tar -xvf ImageMagick-7.0.9-2.tar.gz
进入解压目录
#cd ImageMagick-7.0.9-2
配置安装系数,--prefix为安装路径,--with-webp表示需要支持webp
#./configure --prefix=/usr/local/imagemagick --with-webp
编译代码
#make && make install

2.3、检查 ,OK
# /usr/local/imagemagick/bin/convert -list format

三、安装php插件imagick
这个php插件imagick,作用是使php通过这个插件来调用其他软件(imagemagick),
前提是被调用的软件已安装。
安装后在特定目录下产生一个so文件,在配置文件php.ini中指定即可。

3.1、检查php插件imagick是否安装,无
[root@mizhu01 ~]# php -m|grep ima

3.2安装php插件imagick
下载源代码
#wget http://pecl.php.net/get/imagick-3.4.3.tgz
解压
#tar -xzvf imagick-3.4.3.tgz
进入解压目录
#cd imagick-3.4.3
执行php的外挂程序
#/usr/local/php/bin/phpize
配置安装系数,--with-php-config表示php的配置路径,  --with-imagick表示目标软件的路径
#./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick
编译代码,给出生成so文件的路径,这个路径后面修改php.ini时会用到
#make && make install
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/
Installing header files:          /usr/local/php/include/php/

3.3、修改php插件参数,OK 
vi  /usr/local/php/etc/php.ini
增加一句
extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/imagick.so"

3.4、重启php检查,OK 
[root@mizhu01 ~]# service php-fpm restart
检查插件情况,OK
# php -m|grep ima
imagick
检查文件支持情况,OK
# php -i|less
可以看到imagick项目下支持的100多种文件格式,包括webp格式。


php转换代码片段

/**
  * @param1 $webp webp格式图片
  * @param2 转换的格式,如jpg,png等等
  */
 public function webpToPic($webp,$type){
        $IM = new imagick($webp);
        $IM->setImageFormat($type);
        $fileName = '/tmp/magick-test.'.$type;
        $IM->writeImage($fileName);
    }

结束。

细说安装php的webp文件格式支持相关推荐

  1. Qt增加webp格式支持

    Webp 是一种图片文件格式,能在相同质量的情况下比 PNG 文件尺寸小巧. Chrome 应用商店图片已全部转换为 WebP 格式 YY(基于Qt开发)也已经把图片格式换成webp了 http:// ...

  2. vim8支持的linux版本,Vim 8.0 版本安装方法及添加Python支持

    利用Git安装 最简单也是最有效的方法 1. 获取Vim仓库: git clone https://github.com/vim/vim.git 2. 升级到最新的版本: cd vim git pul ...

  3. Thinkpad 笔记本VMware Workstation 安装虚拟机出现“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”解决方法

    Thinkpad 笔记本VMware Workstation 安装虚拟机出现"此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态"解决方法 参考文章: (1) ...

  4. 解决VMware下安装Ubuntu 16.04 不支持1920X1080分辨率的问题

    解决VMware下安装Ubuntu 16.04 不支持1920X1080分辨率的问题 参考文章: (1)解决VMware下安装Ubuntu 16.04 不支持1920X1080分辨率的问题 (2)ht ...

  5. 非华为电脑安装华为电脑管家(支持多屏协同)

    非华为电脑安装华为电脑管家(支持多屏协同) 数码 1.下载文件包. 百度网盘链接:https://pan.baidu.com/s/1O8WUs_OisNoUpibHpeEchQ 提取码:454c 阿里 ...

  6. Win7使用金山毒霸提示“安装引擎失败,不支持此接口”的解决方法

    很多Win7系统用户在使用金山毒霸的时候,会遇到金山毒霸提示示"安装引擎失败,不支持此接口"的情况.那么,金山毒霸提示安装引擎失败该怎么办呢?下面小编为大家带来Win7使用金山毒霸 ...

  7. awstats mysql_AWstats7.4在Windows 10 64位下的安装与配置,以支持Apache 2.4的日志分析...

    1.AWstats7.4在Windows 10 64位下的安装与配置,以支持Apache 2.4的日志分析: 2.安装perl,打开:https://www.perl.org/ ,如图1,在Windo ...

  8. centos6.2安装桌面环境 与中文支持

    yum groupinstall "X Window System" //安装Xorg yum groupinstall "Desktop" //安装GNOME ...

  9. 上传到服务器gd不支持,安装dedecms出现GD不支持。我的php5.5的。怎么解决?

    在php.ini中开启GD即可. Windows下开启PHP的GD库支持 找到php.ini,打开内容,找到: ;extension=php_gd2.dll 把最前面的分号";"去 ...

最新文章

  1. (转) 服务接口统一返回的格式
  2. 5G NGC — 会话管理模型 — 边缘业务本地分流
  3. C/C++掌握技能(三)
  4. 一起谈.NET技术,C#创建不规则窗体的几种方式
  5. 【LaTeX】E喵的LaTeX新手入门教程(1)准备篇
  6. 大学计算机绘图配置,大学计算机绘图试题及答案(二)
  7. springmvc+swagger2
  8. Linux 基础命令讲解--加密解密
  9. 2020 从新开始:你应该知道的Oracle认证新变化
  10. 求浮点数的幂的精确值
  11. week5 0.1 安装materializecss
  12. 正则表达式匹配第一个单个字符
  13. yuv422,yuv420,yuv444的区别
  14. html的介绍及常用标签,吊打面试官系列!
  15. 浙大计算机学硕453分,卷卷卷!2021计算机专业考研神仙打架:浙大最高分超450,人均400+?...
  16. 认识和使用热插拔的正确姿势
  17. 为 VS 2012 打包 MSDN 在线文档为磁盘安装源
  18. 一款超好用的开源密码管理器?
  19. 为什么调用Dao层会报空指针异常
  20. 自我管理的29个工具

热门文章

  1. 云计算导论(第二版)李伯虎著全部课后题的答案
  2. 使用 OpenCV 和 Python 识别信用卡号
  3. 算力网络发展中的若干关键技术问题分析
  4. 追梦的过程很开心,但结果却令人遗憾
  5. 中外合作计算机专业的大学排名,2017中外合作办学大学排名
  6. php博客好看的源码,一款好看的WordPress博客主题源码,可做资源教程发布网
  7. openCV: 利用python和cv2绘出一个笑脸
  8. 深圳一公司在开源社区表示“要源码上门自取”,引来百万粉大V突袭公司,结果让人意外!...
  9. 传奇工程师卡马克入坑 AI:徒手一周实现反向传播和 CNN
  10. 人民币符号输入的几种方法