2021年1月8日更新
我错了,我以为缩略图的问题解决了,结果在SVG格式的图片上还是翻船了。而且这个问题之前就出现过,只是我偷懒没记录。
Error-creating-thumbnail.jpg
服务器重新配置前,SVG的文件虽然都已经生成了缩略图,但是通过媒体查看器打开的话,还是会报错。error-in-provider.jpg
打开错误提示,再次刷新页面,原来问题出在PHP的禁用函数上面。
warning-symlink-has-been-disabled.jpg
进入控制台,修改配置文件后,缩略图的问题解决。

2021年1月3日更新

去年年底的时候再一次升级服务器,所以很多配置也随之改变,其中之一就是ImageMagick——因为MediaWiki的缩略图生成需要用到它。
ImageMagick-Convert-Error.png
从出错的情况来看就是少了Convert命令,而它就是由ImageMagick生成的(其他正常图片是服务器升级前就生成的,所以数据迁移后还是能够显示的)。于是直接按照下文中的方法安装ImageMagick。

yum -y install ImageMagick ImageMagick-devel

convert--version.png
安装之后缩略图就可用了,而PHP的imagick扩展直接通过OneinStack的脚本就安装好了,所以无需单独再安装。

2018年3月14日原文

玩维基百科的朋友可能会注意到,在它的站点上使用了大量的 SVG 图片,那么它到底是个什么文件格式呢?

SVG简介

什么是SVG?

  • SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
  • SVG 用来定义用于网络的基于矢量的图形
  • SVG 使用 XML 格式定义图形
  • SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失
  • SVG 是万维网联盟的标准
  • SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个整体

    SVG 的优势

  • SVG 可被非常多的工具读取和修改(比如记事本)
  • SVG 与 JPEG 和 GIF 图像比起来,尺寸更小,且可压缩性更强。
  • SVG 是可伸缩的
  • SVG 图像可在任何的分辨率下被高质量地打印
  • SVG 可在图像质量不下降的情况下被放大
  • SVG 图像中的文本是可选的,同时也是可搜索的(很适合制作地图)
  • SVG 可以与 Java 技术一起运行
  • SVG 是开放的标准
  • SVG 文件是纯粹的 XML

注:以上内容均摘自互联网。

准备工作

安装ImageMagick

yum install ImageMagick
yum install ImageMagick-devel
yum install php-pear
yum -y install php-devel

安装imagick

yum install gcc
yum install gcc gcc-c++ autoconf automake
pecl install imagick

在PHP中启用imagick

可以在/etc/php.ini 加上extension=imagick.so,然后分别重启php-fpm和Nginx。

配置文件

LocalSettings.php中修改及添加如下代码:

## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads = true;//启用文件上传功能
$wgUseImageResize = true;
$wgUseImageMagick = true;//使用ImageMagick
$wgImageMagickConvertCommand = "/usr/bin/convert";//ImageMagick的转换程序

# 支持svg图像格式
$wgFileExtensions[] = 'svg';
$wgSVGConverter = 'ImageMagick';
$wgSVGConverterPath = "/usr/bin";
最后修改:2021 年 01 月 09 日
如果觉得我的文章对你有用,请随意赞赏