如何修复WordPress中的“上传的文件无法移动到...”

来自菜鸟教程
跳转至:导航、​搜索

介绍

将新媒体文件上传到 WordPress 安装时,您有时可能会遇到阻止您将数据写入站点存储文件夹的问题。 尝试将图像、视频和其他文件上传到 WordPress 网站上的帖子和页面时,通常会发生此错误。

在本教程中,我们将解决一个常见错误消息:

the uploaded file could not be moved to…

此错误是由于尝试将文件上传到 /wp-content/uploads 文件夹时失败造成的。

第 1 步 - 识别和复制问题

对任何问题进行故障排除的第一步是尝试了解错误的来源以及如何重现问题。 如果您可以将问题隔离到 WordPress 网站代码的某个部分,则可以更好地确定如何解决该问题。

我们来看看错误信息:

The uploaded file could not be moved to...

从这条消息中,我们可以确定虽然文件已发送到服务器,但无法将其移动到目标文件夹 wp-content/uploads 或类似文件夹。 运行应用程序的系统用户很可能没有将内容写入目标文件夹的权限。

WordPress 文件通常托管在网络托管服务器或 Droplet 上,并且需要某些权限才能正常工作。 如果您尝试读取或写入的文件或目录的文件权限错误,您可能会收到前面提到的错误或类似的错误消息。

要复制此问题,请尝试将新文件上传(或 写入 )到您想要的文件夹。 注意在错误之前发生的行为,并注意错误是否已更改或保持不变。

如果您已复制该问题,请继续执行第 2 步以修复阻止您上传到 wp-content/uploads 文件夹或类似文件夹的权限问题。

第 2 步 — 修复 WordPress 上传文件夹中的权限

对于上传到 wp-content/uploads 文件夹的问题,您可能会再次遇到以下错误消息:

‘The uploaded file could not be moved to wp-content/uploads/’

‘Unable to create directory wp-content/uploads/~. Is its parent directory writable by the server?’

要修复此错误,您需要终端访问安装 WordPress 站点的服务器。 有关如何登录远程服务器的更多信息,您可以按照我们的指南 如何使用 SSH 连接到 Droplets,该指南详细介绍了此过程。 有关使用 Linux 的命令行基础知识的帮助,请访问 A Linux Command Line Primer

登录后,验证您的 WordPress 站点在服务器上的位置。 根据您的设置,这可能是路径,例如 /var/www//usr/share/html/,或服务器管理员定义的自定义位置。 您将需要此信息来执行下一个命令。

接下来,运行以下命令,将用户 www-data 设置为 WordPress 上传文件夹的所有者。 www-data 用户通常是在 Apache 和 Nginx 安装上运行 Web 服务器的系统用户。 此用户需要对 WordPress 上传文件夹的写入权限才能将上传的文件复制到正确的位置。

将突出显示的路径替换为您的 WordPress 安装路径:

sudo chown -R www-data /var/www/mysite/wp-content/uploads

此命令通过 sudo 调用管理员权限,因此如果这是您第一次在终端会话中使用 sudo,您可能需要提供用户密码。 这将设置正确的文件夹权限,以便 www-data 用户能够读取和写入数据到您的 wp-content 目录和上传文件夹。

第 3 步 — 测试错误

输入上述命令后,是时候测试初始错误了。 尝试将新文件上传到您的 WordPress 安装,并注意会发生什么。 如果您已成功上传文件,则权限现在已设置为允许您对目标文件夹进行写访问,并且问题应该已经解决。

如果您仍然收到错误消息,请与您的托管服务提供商联系以了解您的 WordPress 安装权限的设置位置,并寻求帮助以设置正确的权限。

您可以在官方文档中找到有关推荐的WordPress文件夹权限的更多信息。

结论

在本教程中,我们成功识别、纠正和测试了在 WordPress 安装中将文件上传到 wp-content 文件夹的问题。

有关 WordPress 的更多信息,包括优化、安装等方面的帮助,请访问我们的 WordPress 资源综合列表。