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