【问题标题】:The uploaded file could not be moved to wp-content/uploads上传的文件无法移动到 wp-content/uploads
【发布时间】:2013-10-01 22:42:36
【问题描述】:

我正在尝试在 WordPress 中上传图片,但出现此错误:

上传的文件无法移动到 wp-content/uploads。

我在 localhost 中运行它,但我发现的答案是将服务器上的文件夹权限更改为 777。

我尝试自己创建一个上传文件夹,但它没有用,并且没有选项可以将文件夹权限更改为除读写之外的任何内容。

我在 Mac OS X 上使用 XAMPP;我是 WordPress 新手 - 我该如何解决这个问题?

【问题讨论】:

  • @Danny Beckett 提到的更改权限
  • 另外..检查你上传的文件大小..服务器可能会因为文件太大而拒绝它..

标签: wordpress macos unix chmod


【解决方案1】:

很可能是权限问题。通过导航到站点所在服务器上的站点wp-content 文件夹来查找站点上运行的用户进程。然后输入这个;

ps aux | egrep '(apache|httpd)'

忽略root,查看其他用户

root      2507  0.0  0.3 423820 14328 ?        Ss   Aug04   0:51 /usr/sbin/httpd
apache    4653  0.5  1.9 483900 77252 ?        S    16:27   0:14 /usr/sbin/httpd
apache    4654  0.5  2.1 500160 84912 ?        S    16:27   0:13 /usr/sbin/httpd
apache    4656  0.8  2.0 484708 78712 ?        S    16:27   0:21 /usr/sbin/httpd
...

对我来说它实际上 是 apache(通常是 www-data)。最后把uploads文件夹的用户改成这个用户;

sudo chown -R apache:apache uploads

(运行此命令时请确保您位于上传文件夹上方的目录中)

这将允许 正确 用户使用 正确 访问权限 755 访问此目录。

通过使用其他人的可怕的“777”建议,您只是允许正确的用户访问分配给不正确用户的目录 - 以及其他任何人谁可以访问该目录!

【讨论】:

  • 在wp-content 中输入ps aux | egrep '(apache|httpd)' 后,我尝试 cd 进入“上传”并在终端中输入建议的命令:chown -R myusername:myusername uploads 这给了我一个错误 - 没有这样的文件或目录。我是否误解了您如何更改 uploads 文件的用户?
  • 您的命令正在尝试更改 uploads/uploads/ 中不存在的文件。您需要上(后)一级。使用ls 确保在运行命令之前可以看到列出的uploads 文件夹。
  • 返回一级并使用ls 查看列出的uploads 文件夹。试过chmod 755 uploads 和sudo chmod 755 uploads 并没有发生任何事情。然后尝试chown -R daemon:daemon uploads 得到了这个:imgur.com/a/vbIun(红线划掉了我的全名)。
  • 我不使用 mac 但你应该看看这个答案 - superuser.com/a/518545/364893 你可能需要在每个命令上使用 -R 并将文件更改为 uploads
  • 很高兴你明白了,我更新了我的答案以更明确。谢谢。
【解决方案2】:

假设您的 wordpress 目录由正确的用户“拥有”,如果您将权限设置为 755,您应该会看到问题得到解决。

登录到您的服务器,然后将cd 到wp-content,然后运行:

chmod 755 uploads

【讨论】:

    【解决方案3】:

    为了安全起见,我建议不要使用

    sudo chmod 777 uploads
    

    向拥有文件夹的用户(根用户)、文件组中的其他用户以及不在文件组中的其他用户(其他任何人)授予权限(读取、写入、执行)。

    sudo chmod 755 uploads
    

    将所有权限授予所有者,但仅授予其他用户读取和执行权限

    【讨论】:

      【解决方案4】:

      对于已经登陆这里但使用 Windows / IIS 平台的任何人,您可以通过为您的 wp-content\uploads 目录授予 Everyone 组的修改权限来实现相同的目的。

      【讨论】:

        【解决方案5】:

        另一个可能的原因是uploads 文件夹的所有者和组错误。

        试试

        chown -R _www:_www wp-content/uploads
        

        假设您的 apache 组和所有者是 _www

        【讨论】:

        • 谢谢,这让我走上了正确的道路。我的确切情况最终是chown -R web:www-data。
        猜你喜欢
        • 2016-02-05
        • 1970-01-01
        • 1970-01-01
        • 2022-09-23
        • 2018-02-21
        • 1970-01-01
        • 2021-09-10
        • 2017-10-12
        • 2013-05-07
        相关资源
        最近更新 更多