完全令我沮丧。
当我尝试上传一个小的jpeg文件时,出现以下错误:
Warning: wfMkdirParents: failed to mkdir "/usr/local/mediawiki-1.20.5/images/5/5d" mode 0777 in /usr/local/mediawiki-1.20.5/includes/GlobalFunctions.php on line 2546
CentOS 6.4 MediaWiki 1.20.5 PHP 5.5.0RC1(apache2handler)MySQL 5.5.31
php.ini中
safe_mode = off; file_uploads = On max_file_uploads = 20
LocalSettings.php中
$wgEnableUploads = true; $wgUseImageMagick = true; $wgImageMagickConvertCommand = "/usr/bin/convert";
图像文件夹
chown apache:apache images/ chmod 755 -R images/ (threw error) chmod 777 -R images/ (threw error)
我已经重新启动Apache,仍然无法上传。 我很难过 有任何想法吗?
这是由SELinux造成的,而不是设置SELinux只logging日志而不是强制执行策略(允许模式),您可以修改文件系统上的标签以允许Apache在SELinux执行时写入位置:
假设/usr/local/mediawiki-1.20.5/images是您想允许写入权限的位置:
semanage fcontext -a -t httpd_sys_content_t "/usr/local/mediawiki-1.20.5/images(/.*)?"
将更改目录上的SELinux上下文以及其下的任何内容
restorecon -Rv /usr/local/mediawiki-1.20.5/images
将根据SELinux上下文重新标记文件和目录。