我在我的live服务器上使用WordPress,它只使用SSH密钥的SFTP。

我想安装和升级插件,但似乎需要输入FTP登录来安装插件。有没有一种方法可以通过手动上传文件来安装和升级插件,而不是让WordPress来处理整个过程?


当前回答

只是对wp-config.php进行了快速更改

define('FS_METHOD','direct');

就是这样,享受你的wordpress更新没有ftp!

替代方法:

有一些主机会阻止这种方法工作 来简化您的WordPress更新。幸运的是,还有另一种方法 防止这个害虫提示您输入FTP用户名和密码。 同样,在wp-config.php文件中的MYSQL登录声明之后, 增加如下内容:

define("FTP_HOST", "localhost");
define("FTP_USER", "yourftpusername");
define("FTP_PASS", "yourftppassword");

其他回答

在终端中执行以下代码

sudo chown -R www-data /var/www

详情请浏览 Wordpress在Ubuntu上安装插件不需要FTP访问

只是想补充一点,你绝对不能将wp-content权限或任何文件夹的权限设置为777。

这就是我必须要做的:

1)我将wordpress文件夹的所有权(递归地)设置为apache用户,如下所示:

# chown -R apache wordpress/

2)我将wordpress文件夹的组所有权(递归)更改为apache组,如下所示:

# chgrp -R apache wordpress/

3)赋予目录所有者完全权限,如下所示:

# chmod u+wrx wordpress/*

这就成功了。顺便说一句,我的wp-content文件夹有755个权限。

TL;博士版:

# chown -R apache:apache wordpress
# chmod u+wrx wordpress/*

我看到很多人建议将权限设置为777。2天前我也有同样的问题,我所做的就是,将此添加到wp-content

define('FS_METHOD', 'direct');

and

设置插件文件夹的权限为775

这解决了我询问FTP访问登录名/密码的问题。

在此之前,我必须手动添加插件,将.zip文件添加到插件文件夹,然后进入wp-admin/plugins,并必须安装它。

在我的例子中,我在RHEL 8.6上运行Apache。移动文件(而不是复制文件)导致我的wordpress根文件夹的selinux上下文错误。禁用selinux允许我重新安装插件。但是,由于这是一个生产服务器,我希望selinux处于强制模式。通过运行这个命令来恢复wordpress根目录的默认selinux上下文,我能够解决这个问题。

restorecon -vR /var/www/html/

您可以参考此链接,了解解决与selinux相关的任何问题的其他方法。

请添加define('FS_METHOD','direct');在wp-config.php