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。
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面板里面,亲测第二种服务器通用方法压根儿不生效,因为你虽然能设置正确的目录权限,但是你找不到目录的所有者。
找了半天,最后发现在cyberpanel面板——网站设置——文件管理里面自带了,点击“修复权限”就搞定了