虽然Webp格式的图片出现都十几年了,但我一直就不喜欢用它,即便是网上下载的通常也会被我转化一下格式再用。
今天实在没心思转了,反正MediaWiki也支持该格式的图片上传,那就直接用算了。
没想到的是,上传完之后,图片竟然没办法显示。
MediaWiki无法显示webp格式.png
进入图片的详细信息,打开缩略图后显示以下信息:

Error generating thumbnail
创建缩略图出错:convert: delegate failed `'dwebp' -pam '%i' -o '%o'' @ error/delegate.c/InvokeDelegate/1928. convert: unable to open file `/tmp/magick-30700mWZzKyrRV67w': No such file or directory @ error/constitute.c/ReadImage/604. convert: no images defined `/tmp/transform_3c4a1a7d5242.png' @ error/convert.c/ConvertImageCommand/3235. Error code: 1

有说是设置问题的,也有说是PHP问题的,亦或者是系统缺少库的,总之啥答案都有。
先说设置问题,就是在LocalSettings.php中添加webp格式,代码如下:

$wgFileExtensions = array_merge(
    $wgFileExtensions, [
        'svg', 'webp'
    ]
);

其实这个根本就没必要,MediaWiki早就默认支持webp了,这样只是多此一举,当然好像也没啥坏处。
而PHP问题是因为如果需要用到DG库来处理图片的话就会发生问题,在控制台中输入:

php -r "var_dump(gd_info());"

在返回的结果中,PHP的GD库并不支持webp格式,如下图:
php的GD库不支持webp格式.png
但是安装方法好像是很麻烦,需要重新编译PHP代码,那就暂时先放一边吧。
最后就是系统缺少webp的支持,因为使用的是CentOS 7,所以执行以下命令:

sudo yum install libwebp libwebp-tools

安装成功后可以正常显示,缩略图也能正常显示了。

最后修改:2023 年 12 月 22 日
如果觉得我的文章对你有用,请随意赞赏