美文网首页
PHP重新编译GD扩展,以支持WEBP格式

PHP重新编译GD扩展,以支持WEBP格式

作者: Jekhy | 来源:发表于2020-03-05 11:29 被阅读0次

问题描述


Laravel 用 Intervention Image 读取 webp 格式的图片时报错:

Intervention/Image/Exception/NotReadableException with message 'Unsupported image type. GD/PHP installation does not support WebP format.'

不支持webp报错

看这报错的意思,是GD库缺少对webp格式的支持(webp格式是google出品的一种高效图片压缩格式,跟jpeg类似是有损压缩,但体积会比jpeg平均减少40%以上)

用以下命令看下php-gd的配置详情,里边缺少“WebP Support”字样:

php --ri gd

缺少 WebP Support => enabled

解决方案


Intervention Image 配置里,默认图像库用的是GD,PHP 是在 CentOS7 上用 yum 装的,不想从源码重新编译完整的PHP,所以,只编译PHP源码中的ext/gd,当然,先去官网下载对应版本的 PHP 源码,然后:

cd php-7.x.x/ext/gd
phpize
./configure --with-webp-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-xpm-dir
make

如果有报错,应该是相应的图片格式库没装,安装相应的devel库:

yum install libwebp-devel libjpeg-turbo-devel libpng-devel libXpm-devel freetype-devel

编译完成后,将so文件放到 PHP 的 modules 目录下,修改 php-gd 的配置,注释掉旧的 gd.so,添加新的 my_gd.so:

cp modules/gd.so /usr/lib64/php/modules/my_gd.so

vim /etc/php.d/gd.ini
;extension=gd.so
extension=my_gd.so

然后,检查下 php-gd 的配置里有“WebP Support => enabled”字样即可(php-fpm需要重启生效)

包含 WebP Support => enabled 已支持webp

参考官方文档:https://www.php.net/manual/en/image.installation.php

相关文章

  • PHP重新编译GD扩展,以支持WEBP格式

    问题描述 Laravel 用Intervention Image 读取 webp 格式的图片时报错: Interv...

  • Liunx PHP的GD库 添加 jpeg 文件的支持

    转载自 Liunx PHP的GD库 添加 jpeg 文件的支持 一般源码安装添加的GD库 是不支持 jpeg 格式...

  • 编译PHP扩展

    PHP扩展会根据编译参数或者内部版本号,保存在类似这样的目录中。 以编译IMAP扩展支持需要 编译完成后,编辑ph...

  • php扩展模块安装过程

    简介 安装php模块,不需要重新编译php,可以动态扩展php模块。 例子 以安装msgpack模块为例:(此处p...

  • 图形图像操作

    PHP图形操作之GD库简介 GD指的是Graphic Device,PHP的GD库是用来处理图形的扩展库,通过GD...

  • php扩展模块安装

    目录 php扩展模块安装 php扩展模块安装 PHP一旦编译完成后,要想再增加一个功能模块的话,要么重新编译PHP...

  • Centos下php找不到pdo_mysql

    安装完php后需要安装php的扩展比如: 安装php的扩展yum install php-mysql php-gd...

  • 视频转 webp 动图

    视频转 webp 动图 准备工作 编译支持 webp 的 ffmpeg 库 下载 webp 源码进行编译./con...

  • PHP学习笔记 - 进阶篇(9)

    图形图像操作 GD库简介 GD指的是Graphic Device,PHP的GD库是用来处理图形的扩展库,通过GD库...

  • PHP安装gd.so扩展

    安装错误时 命令行使用 php -v 会有一个警告, 警告 php 的gd库 不能连接或者失败 此时需要重新编译 ...

网友评论

      本文标题:PHP重新编译GD扩展,以支持WEBP格式

      本文链接:https://www.haomeiwen.com/subject/zkwqlhtx.html