使用mediawiki上传图像时出错(在Directadmin上)

时间:2014-06-08 21:38:46

标签: php apache file-upload mediawiki

我已经在我的网络服务器上安装了mediawiki(使用directadmin),但是我无法上传图片(在这种情况下是.jpg)

我在设置中设置了$wgEnableUploads = true;并检查了images文件夹是否可写(它已设置为755)。但是当我尝试上传名为testimage.jpg的测试图像时,我收到错误:

Could not store file "/tmp/phpjNV3oh" at "mwstore://local-backend/local-public/1/13/testimage.jpg". 

由于我在共享虚拟主机上并且只能访问directadmin界面,因此我无法设置images文件夹的所有者(这是一个答案here)。我已经尝试将文件夹设置为777,这也没有改变。

有谁知道问题是什么?可能是我使用cloudflare吗?另外,为什么错误(mwstore://local-backend/local-public/1/13/testimage.jpg")中返回的网址不是普通网址(如mysite.com/wiki/images或其他内容)?

2 个答案:

答案 0 :(得分:0)

我在共享主机上遇到过两次此问题,并且有两种解决方案。

一:

  • $wgHashedUploadDirectory = false上设置LocalSettings.php,然后尝试上传其他文件。

执行此操作后,您的所有文件都将上传到$wgUploadDirectory, /images/foo.jpg而不是/images/x/xx/foo.jpg

请注意,如果您现在更改此设置,将来不应将其设置为true,否则您需要手动将文件移动到哈希目录结构中。

二:

  • 与您的主机支持服务联系

当我通过电子邮件将情况通过电子邮件发送给我的主机支持服务时,他们回复说/my_wiki/images内的所有文件夹都归root用户所有,而不是apache-user,因为我无法{{1}他们做到了。

答案 1 :(得分:0)

您需要设置正确的安全上下文类型,以便SELinux停止抱怨。

sudo chcon -R -t httpd_sys_script_rw_t /var/www/mediawiki123/images/

不要忘记将目录设置回正确的权限。

sudo chmod 755 /var/www/mediawiki123/images/

要满足您的所有SELinux需求,请浏览here