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

12

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

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

我在本地主机上运行它,但我找到的答案是在服务器上将文件夹权限更改为777。

我尝试自己创建一个uploads文件夹,但这没有任何用处,也没有更改文件夹权限的选项,除了读取和写入。

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


根据 @Danny Beckett 的说明更改权限。 - Sharath
1
此外,请检查您要上传的文件大小,因为服务器可能会因为文件过大而拒绝上传。 - Sharath
5个回答

20

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

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

ps aux | egrep '(apache|httpd)'

忽略管理员,但查看其他用户

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)'后,我尝试进入"uploads"并在终端中键入建议的命令:chown -R myusername:myusername uploads但是出现了错误-没有这样的文件或目录。我是否误解了如何更改uploads文件的用户? - HappyHands31
1
您的命令试图更改uploads/uploads/中不存在的文件。您需要向上(返回)一级。在运行命令之前,请使用ls确保您可以看到列出了uploads文件夹。 - myol
我不使用Mac,但是你应该看一下这个答案 - https://superuser.com/a/518545/364893。你可能需要在每个命令中使用“-R”选项并将文件更改为“uploads”。 - myol
话虽如此,你将需要按照那个答案所建议的方式重新设置文件权限,即"给予所有人读写文件的权限",而这正是我们试图避免的。 - myol
1
很高兴你找到了解决办法,我已经更新了我的答案以使其更加明确。谢谢。 - myol
显示剩余2条评论

3
假设你的WordPress目录已被正确用户占用,如果将权限设置为755,您应该会发现问题得到了解决。
登录您的服务器,然后cdwp-content目录,然后运行:
chmod 755 uploads

2

出于安全考虑,我建议使用

sudo chmod 777 uploads

这将授予文件夹(根目录)所有者的用户,文件所在组中的其他用户以及不属于文件组的其他用户(任何人)读取、写入和执行权限。

sudo chmod 755 uploads

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


1
另一个可能的原因是uploads文件夹的所有者和组错误。
请尝试:
chown -R _www:_www wp-content/uploads

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

谢谢,这让我走上了正确的道路。但我的确切情况最终是 chown -R web:www-data - shaneparsons

1

对于任何使用Windows/IIS平台的人,你可以通过为你的wp-content\uploads目录中的Everyone组授予修改权限来实现同样的效果。

permissions dialog


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接