WordPress 核心版本升级的权限问题

Posted

技术标签:

【中文标题】WordPress 核心版本升级的权限问题【英文标题】:Permissions Issue on Wordpress Core Version Upgrade 【发布时间】:2020-11-27 01:41:52 【问题描述】:

我在数字海洋上有一个基于 centOS 的虚拟机。 它正在运行 nginx HTTP 服务器。 我将其配置为使用多域,并设置了 SSL。

我的一个域运行一个 Wordpress 应用程序。 我从我的 godaddy 主机迁移了 WordPress 文件。

一切都很好,除非我尝试升级 wordpress 核心(更新和安装插件工作正常)。

当我尝试将 WordPress 升级到 5.4.2 版时,出现权限错误(如附件照片所示):

第 281 行 /var/www/mydomain.com/wordpress/wp-admin/includes/class-wp-filesystem-direct.php 中的权限被拒绝

wordpress core upgrade file permissions error display

我尝试执行以下操作来诊断问题...我对 nginx 用户具有目录完全访问权限: chmod -R 777 /var/www/

chown nginx:nginx /var/www/

不起作用

我通过在页面上输出 echo exec('whoami'); 来确定 php 用户是 nginx。

我完全傻眼了。 有谁知道可能是什么问题?

作为最后的手段,我使用 FTP 手动升级了我的 wordpress 版本,但我担心我从来没有弄清楚这个问题的根本原因,它会再次出现,打开一罐蠕虫。

【问题讨论】:

@esqew 哇,修复了它!谢谢! (虽然我必须编辑一个错字)sudo chcon -R --type=httpd_sys_rw_content_t /var/www/mydomain.com 【参考方案1】:

CentOS 在其 Linux 内核中包含一个名为 SELinux 的强制访问控制 (MAC) 安全机制。根据a support forum thread on Wordpress.org 的说法,这种机制有时会导致出现此错误的问题。

SSH 到您的服务器并使用以下命令更改整个 /var/www/mydomain.com 文件夹的 SELinux“上下文”:

chcon -R –-type httpd_sys_rw_content_t /var/www/mydomain.com/

上述链接线程中的最后一篇文章表明,这种上下文变化缓解了您所看到的错误。

顺便说一句,为了您的系统安全,请确保您将文件权限改回默认设置。

【讨论】:

以上是关于WordPress 核心版本升级的权限问题的主要内容,如果未能解决你的问题,请参考以下文章

简单WordPress升级的方法

xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题)

ThinkPHP 3.2 版本升级了哪些内容

升级到最新版本后,我的php代码在wordpress编辑器中不断被禁用

WordPress版微信小程序2.0版本发布

如何在 phpMyAdmin 中将 MySQL 版本升级到最新版本?