媒体库上传图片时弹出「无法建立目录 wp-content/uploads/2026/11。请检查上级目录是否有写入权限」,后台缩略图全是裂图,但网站其他页面正常。这类报错基本不是 WordPress 本身的问题,而是目录属主和 PHP 运行用户对不上。

先确认 PHP 用哪个用户在跑

登录服务器执行:

ps aux | grep "php-fpm: pool" | grep -v grep

第一列就是实际运行用户,常见是 www-data(Debian/Ubuntu)或 nginx、apache(CentOS)。记住这个名字,下一步要用。

再看 uploads 目录归谁

ls -ld wp-content/uploads
ls -ld wp-content

如果属主是 root,而 PHP 是 www-data,即使权限写着 755 也写不进去。通常是从旧服务器用 root 打包解压,或者用命令行以 root 身份上传造成的。

按目录和文件分别修权限

chown -R www-data:www-data wp-content/uploads
find wp-content/uploads -type d -exec chmod 755 {} \;
find wp-content/uploads -type f -exec chmod 644 {} \;

不要图省事给 777。WordPress 会在文件权限过宽时拒绝写入,而且 777 的目录是上传木马的入口。

改完还是报错就查这三处

  • 磁盘是否写满:df -h 看根分区使用率
  • SELinux 是否拦截:getenforce 返回 Enforcing 时执行 restorecon -R wp-content/uploads
  • 配置文件里是否硬编码了旧的绝对路径:检查 UPLOADS 常量

最后在媒体库重新上传一张图,确认 uploads 下的年份目录真的生成了文件,而不是只清了缓存。

作者 9823189

发表回复