2025-07-16 08:53:29
,某些文章具有时效性,若有错误或下载地址失效,请在文末评论区留言今天十一张(www.11zhang.com)迁移了 WordPress 站点至新服务器,结果上传图片出现“
![图片[1]-WordPress“无法将上传的文件移动至wp-content/uploads/”的解决办法-十一张](https://www.11zhang.com/wp-content/uploads/2025/07/d311e97c2220250716005522.webp)
你会发现,只需将 wp-content/uploads/ 目录的权限改成777就能解决问题,但是这样比较粗暴,可能会带来新的安全问题(黑客可能上传恶意脚本,如PHP shell)。
![图片[2]-WordPress“无法将上传的文件移动至wp-content/uploads/”的解决办法-十一张](https://www.11zhang.com/wp-content/uploads/2025/07/883dda98c520250716010355.webp)
原因分析
当你在 WordPress 站点中遇到“
在755权限下:
然而,Web服务器进程(如Apache的www-data用户或Nginx的nginx用户)通常不是该目录的所有者,除非特别配置。所以,如果Web服务器进程不属于目录的组(且也不是所有者),那么它就没有写权限。因此,当目录权限是755时,上传会失败。当权限改为777时,所有用户(包括Web服务器进程)都有写权限,因此可以上传。
但是,777权限是不安全的,因为任何用户都可以在该目录中写入文件,这可能导致安全风险(例如,被恶意用户上传恶意脚本)。
●755权限:目录所有者有完全权限,但Web服务器通常不是所有者,因此无法写入。
●777权限:所有用户可写,解决了写入问题但引入严重安全风险(允许任意用户修改文件)。
解决方案(无需777权限)
确定Web服务器运行的用户,例如,对于Apache,通常是www-data;对于Nginx,可能是www或nginx。将上传目录的所有权更改为Web服务器用户,或者确保该目录的组是Web服务器用户所在的组,然后将组权限设置为可写(775),并确保Web服务器用户在该组中。具体操作步骤:
1、先检查文件权限,确保 wp-content/uploads 目录及其子目录的权限为755,你可以使用以下命令设置755权限:
chmod -R 755 /www/wwwroot/www_11zhang_com/wp-content/uploads
2、确保 wp-content/uploads 目录的属主和属组正确,可以使用以下命令设置:
sudo chown -R www:www /www/wwwroot/www_11zhang_com/wp-content/uploads
![图片[3]-WordPress“无法将上传的文件移动至wp-content/uploads/”的解决办法-十一张](https://www.11zhang.com/wp-content/uploads/2025/07/5121d9c81020250716004608.png)
●对于Apache:在终端执行 ps aux | grep apache 或 ps aux | grep httpd 命令查看第一列
●对于Nginx:在终端执行 ps aux | grep nginx 命令查看第一列
![图片[4]-WordPress“无法将上传的文件移动至wp-content/uploads/”的解决办法-十一张](https://www.11zhang.com/wp-content/uploads/2025/07/ee2698736820250716004607.png)
通常,主进程会以root运行,但工作进程会以www、nginx等用户运行。
暂无评论内容