如何正确配置MediaWiki以实现文件上传功能?
启用基础文件上传功能
编辑MediaWiki根目录下的LocalSettings.php
文件,添加以下配置参数以激活核心上传功能:
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";
配置文件类型与大小限制
在LocalSettings.php
中定义允许上传的文件扩展名:
$wgFileExtensions = ['png', 'gif', 'jpg', 'jpeg', 'pdf', 'doc', 'xls'];
调整PHP配置文件(php.ini
)的参数以匹配需求:
upload_max_filesize = 64M
post_max_size = 128M
设置上传目录权限
确保服务器对上传目录具有写入权限:
chmod -R 755 /path/to/mediawiki/images/
chown -R www-data:www-data /path/to/mediawiki/images/
安全增强配置
添加MIME类型验证防止文件伪装攻击:
$wgVerifyMimeType = true;
$wgMimeTypeBlacklist = ['application/x-php', 'text/html'];
验证与问题排查
- 访问Special:Upload测试上传界面
- 检查服务器错误日志定位权限问题
- 使用
phpinfo()
确认PHP参数生效 - 验证文件哈希值检测传输完整性
进阶配置建议
对于大型站点建议启用分布式存储:
$wgLocalFileRepo = [
'class' => 'LocalRepo',
'name' => 'local',
'directory' => '/mnt/storage/wiki-images',
'url' => 'https://cdn.example.org/wiki-images'
];