MediaWiki文件上传的设置
新版的MediaWiki(1.11.1)默认情况下文件上传是关闭的,不过打开它非常容易。
编辑LocalSettings.php,修改下面这一行为true即可。
$wgEnableUploads = true;
之后页面左侧的“工具箱”中会多出一项“上传文件”,单击它即可上传文件。
但如果你要上传png格式的图片,就会发现,系统禁止了png类型的文件。调查includes/DefaultSettings.php的 $wgFileExtensions 变量, 可以看到png格式是允许的。但为什么无法上传呢?JPG和GIF都可以正常上传啊。
原因是MediaWiki会判断上传文件的MIME Type,并禁止某些类型的MIME Type上传。 而文件的MIME Type获取是通过php的mime_magic模块进行的, 默认情况下这个模块无法正确识别png格式,所以png图像就无法得到正确的MIME Type,于是上传失败。
在phpinfo()中可以看到这样几行文字:
mime_magic support | enabled | |
Directive | Local Value | Master Value |
mime_magic.debug | Off | Off |
mime_magic.magicfile | /etc/httpd/conf/magic | /etc/httpd/conf/magic |
得知mime_magic的配置文件是 /etc/httpd/conf/magic。打开此文件就可以发现其中并没有PNG格式。
在GIF和JPG文件的附近添加这样一行:
# PNG
1 string PNG image/png
然后重新启动httpd。这样PNG文件就可以正常上传了。