本文记录了 WordPress 站点安装/删除主题、插件时,弹出 FTP 登录凭据窗口的详细解决过程。
前言
WordPress 安装完成后,正打算添加新的主题和插件,以及删除原有的主题和插件,此时却弹出了输入 FTP 登录凭据的窗口。
出现此弹窗代表着 WordPress 不能添加和删除主题、插件,本文介绍了如何解决该问题。
文中使用的是腾讯云 Linux 服务器,系统镜像为 CentOS 7.6 的版本。
文中使用的命令均为 root
用户执行。
解决方式
- 进入 Linux 系统中 Nginx 的默认站点目录(实际为 WordPress 文件夹存放的位置)
cd /usr/share/nginx/html
- 执行以下命令,将
wordpress
文件夹的所有者改为apache
chown -R apache:apache ./wordpress/
- 最后刷新浏览器界面即可
问题分析
首先我们执行 ll
命令看一下 wordpress
文件夹的所有者
ll
命令的结果如下
total 24732
-rw-r--r--. 1 root root 497 Feb 15 00:20 50x.html
-rw-r--r--. 1 root root 615 Feb 15 00:20 index.html
-rw-r--r--. 1 root root 25311313 Jan 31 14:00 latest-zh_CN.tar.gz
drwxr-xr-x. 5 1006 1006 4096 Mar 5 05:40 wordpress
从命令的结果可以看出,wordpress
文件夹的所有者和组都是 1006
。
在此之前我们需要知道,WordPress 是由 PHP 开发的,以下是 Wikipedia 对 WordPress 的描述
WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。
所以 wordpress
文件夹的内容控制应该由 Linux 系统中 PHP 服务的所有者进行操作。
现在我们查看一下 PHP 服务的所有者,执行以下命令
ps -ef | grep php
命令的执行结果如下
root 960 1 0 00:20 ? 00:00:00 php-fpm: master process (/etc/php-fpm.conf)
apache 990 960 0 00:20 ? 00:00:00 php-fpm: pool www
apache 991 960 0 00:20 ? 00:00:00 php-fpm: pool www
apache 992 960 0 00:20 ? 00:00:00 php-fpm: pool www
apache 993 960 0 00:20 ? 00:00:00 php-fpm: pool www
apache 994 960 0 00:20 ? 00:00:00 php-fpm: pool www
apache 1187 960 0 00:28 ? 00:00:00 php-fpm: pool www
apache 1193 960 0 00:28 ? 00:00:00 php-fpm: pool www
apache 1198 960 0 00:28 ? 00:00:00 php-fpm: pool www
root 1414 1364 0 01:54 pts/0 00:00:00 grep --color=auto php
从命令执行的结果中可以看出, php-fpm
服务的所有者是 apache
,所以最后只需要将 wordpress
文件夹的所有者改为 apache
即可。
执行以下命令将 wordpress
文件夹的所有者改为 apache
chown -R apache:apache ./wordpress/
总结
文中首先确认需要对 wordpress
文件夹进行内容控制的进程为 PHP 服务。
紧接着查看 PHP 服务的进程所有者,最后将 wordpress
文件夹的所有者变更为 PHP 服务的所有者。