WordPress删除/新增插件/主题权限不足-需ftp账号密码

当我们在WordPress后台进行插件/主题的删除/新增时,有时候会提示“要执行请求的操作,WordPress需要访问您网页服务器的权限,请输入您的FTP登录凭据以继续”。今天老白就在cyberpanel面板下遇到了这个问题,因此跟大家简单说说,分别基于宝塔面板、虚拟主机、cyberpanel面板和通用服务器操作去解决这个问题(以下解决方法也适用于某插件提示文件目录不可写)。

1.权限不足的原因

1.1 权限设置不正确

WordPress的文件和目录需要具有适当的权限才能进行写操作。如果权限设置不正确,比如设置为只读或者没有足够的权限,就会导致目录不可写。正确的权限设置一般是755或777,具体取决于你的主机环境和安全策略。

1.2 文件所有者不正确

WordPress的文件和目录应该属于正确的用户和组。如果文件属主设置不正确,比如所有者是一个不可写的用户或组,也会导致目录不可写。确保文件和目录属主是正确的用户和组,通常是你的Web服务器用户。

1.3 主机安全限制

有些主机提供商为了安全考虑,可能会限制某些目录的写权限,以防止恶意代码的注入。在这种情况下,你可以联系主机提供商了解他们的安全策略,并寻求他们的帮助解决目录不可写的问题。

一般是前两种原因,第三种极少

解决方法一般就是正确设置网站所在目录的权限和所有者,接下来针对几个面板说一下解决方法

2.通用方法(服务器)

对于权限和所有者设置错误,我们可以通过下面的命令行查看,假设我们的wp站点目录为:/home/www.xcbtmw.com/,ssh登录服务器后,进入管理员模式(先输入su,然后输入你的密码)

2.1 查看权限和所有者

输入下面的代码(看我们网站的是否正确)

ls -l /home/www.xcbtmw.com/

执行该命令后,你将看到类似以下的输出:

drwxr-xr-x  3 owner group  4096 Sep 10 15:30 www.xcbtmw.com

在这个示例中,drwxr-xr-x表示目录的权限,owner表示所有者,group表示所属组。

具体解释权限的含义如下:数字表示为755(如果全部打开就是777)

  • 第一个字符(d)表示该项是一个目录(如果是文件,则显示-)。
  • 接下来的三个字符(rwx)表示所有者的权限(读、写、执行):数字7
  • 接下来的三个字符(r-x)表示所属组的权限:数字5
  • 最后的三个字符(r-x)表示其他用户的权限:数字5

2.2 修改权限和所有者

这时候,我们就需要更改我们网站所在目录的权限和所有者,修改命令如下

chmod -R 755 /home/wwwroot
chown -R www /home/wwwroot

chmod -R 755 /home/wwwroot的意思是递归地将/home/wwwroot目录下的所有文件和子目录的权限设置为755。其中,755表示所有者具有读、写、执行权限,而组和其他用户只有读和执行权限。

chown -R www /home/wwwroot的意思是递归地将/home/wwwroot目录下的所有文件和子目录的所有者设置为www。这里的www是一个用户和用户组的名称,WordPress网站一般为www。

部分教程会把权限设置为777,老白个人不建议

2.3 补充代码

在wp-config.php中添加下列四行代码(在定义ABSPATH的后面添加),添加后效果是这样

if ( !defined('ABSPATH') )

        define('ABSPATH', dirname(__FILE__) . '/');

/** 下面是添加的代码*/

define('WP_TEMP_DIR', ABSPATH.'wp-content/tmp');

define("FS_METHOD", "direct");  

define("FS_CHMOD_DIR", 0777);  

define("FS_CHMOD_FILE", 0777); 

这个我没测试过,看到这位站长这样分享了:https://saucer-man.com/operation_and_maintenance/22.html,按理说设置了前两个应该就可以了

3.宝塔面板(操作简单)

直接打开我们网站所在目录,右键“设置权限”,在下面这个界面

上半部分为权限,一般就是这样设置,代表755

下部分就是所有者,一般设置为www(记得勾选应用到子目录)

4.cyberpanel(操作更简单)

在cyberpanel中,操作非常简单,但是前提是你得找到在哪里设置。在cyberpanel面板里面,亲测第二种服务器通用方法压根儿不生效,因为你虽然能设置正确的目录权限,但是你找不到目录的所有者。

该面板中目录所有者非默认的www,压根儿找不到原始的了

找了半天,最后发现在cyberpanel面板——网站设置——文件管理里面自带了,点击“修复权限”就搞定了