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

Permissions Issue on Wordpress Core Version Upgrade

我在数字海洋上有一个基于 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 版本,但我担心我从未弄清楚这个问题的根本原因,它会 spring 再次打开一堆蠕虫。

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

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

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

above-linked 线程中的最后一个 post 表明上下文的这种更改减轻了您所看到的错误。

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