php - 使用 mediawiki 上传图片时出错(在 Directadmin 上)

标签 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 界面,所以我无法设置图像文件夹的所有者(答案是 here)。我试过将文件夹设置为 777,这也没有任何改变。

有人知道问题出在哪里吗?难道我用的是cloudflare?另外,为什么错误中返回的 url (mwstore://local-backend/local-public/1/13/testimage.jpg") 不是正常的 url (如 mysite. com/wiki/images 或其他)?

最佳答案

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

一:

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

这样做你所有的文件将被上传到 $wgUploadDirectory,/images/foo.jpg 而不是 /images/x/xx/foo.jpg

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

两个:

  • 联系房东的支持服务

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

关于php - 使用 mediawiki 上传图片时出错(在 Directadmin 上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24111113/

相关文章:

javascript - 使用 Ajax 从不同列表中选择值后填充下拉列表

linux - 在 apache 网络服务器上使用 tomcat for jsp,ubuntu

php - Docker LAMP堆栈-保存PHP项目的位置在哪里?

ruby-on-rails - 未初始化的常量 Car::PictureUploader

php - 更新后在 codeigniter 中获取受影响行的 ID

javascript - 如何使用基于下拉选择的单选按钮显示数据?

php - SimpleTest:如何断言抛出 PHP 错误?

apache - LAMP 中禁止访问

javascript - 单击按钮时文件上传丢失内容

php mysql 图片显示不正确