字體:  

Centos6+PHP5.4 安裝 ImageMagick 及 imagick 處理 webp格式圖片

altis 發表於: 2021-12-28 16:51 來源: ADJ網路控股集團


WebP 是一種同時提供了有損壓縮與無失真壓縮(可逆壓縮)的圖片檔案格式。

WebP最初在2010年9月釋出,其支援庫於2018年4月發布1.0版本。截至2021年5月,已有94%的瀏覽器支援此格式。

WebP的設計目標是在減少檔案大小的同時,達到和JPEG、PNG、GIF格式相同的圖片品質,並希望藉此能夠減少圖片檔在網路上的傳送時間。根據Google較早的測試,WebP的無失真壓縮比網路上找到的PNG檔少了45%的檔案大小,即使這些PNG檔在使用pngcrush和PNGOUT處理過,WebP還是可以減少28%的檔案大小。

Centos6 安裝了 Imagick 但是不含webp,所以必須自行compiler加入 webp 格式

1、編譯安裝 ImageMagick
# yum remove ImageMagick
# yum install libwebp-devel libwebp-tools

下載地址 :
# cd /tmp/ && wget http://soft.vpser.net/web/imagemagick/ImageMagick-7.0.5-7.tar.bz2
# tar jxvf ImageMagick-7.0.5-7.tar.bz2 && cd ImageMagick-7.0.5-7
# ./configure --prefix=/usr/local/imagemagick --with-webp
# make && make install

查看ImageMagick支持的格式,確認包含 webp
# convert -list format|grep webp

2、編譯安裝 ImageMagick-php
可以從這間找到新版本 http://pecl.php.net/package/imagick

# cd /tmp/ && wget http://pecl.php.net/get/imagick-3.6.0.tgz
# tar -zxvf imagick-3.6.0.tgz && cd imagick-3.6.0
# /usr/bin/phpize
# export PKG_CONFIG_PATH=/usr/local/imagemagick/lib/pkgconfig/
# ./configure --with-php-config=/usr/bin/php-config --with-imagick=/usr/local/imagemagick
# make && make install

3. 加入模組並重啟php-fpm
# echo "extension="/usr/lib64/php/modules/imagick.so"" > /etc/php.d/imagick.ini
# service php-fpm restart

查看phpinfo中是否支持了webp


例外情況:
(1)如果遇到這種錯誤 convert: command not found
# cp -a /usr/local/imagemagick/bin/convert /usr/local/bin/
(2)如果遇到這種錯誤 libpng16.so.16: cannot open shared object file: No such file or directory in Unknown on line 0
可以將 libpng16.so.16.31.0 檔案copy 到 /usr/lib64 即可,如以下指令
# cp -a /usr/local/lib/libpng16.so.16.31.0 /usr/lib64/libpng16.so.16


參考文章:
https://www.cnblogs.com/qingmuchuanqi48/p/13040801.html