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

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


当前回答

可以使用SFTP或SSH在WordPress中自动更新插件,但你需要有ssh2 pecl扩展。您可以通过下面的教程了解如何做到这一点

其他回答

将以下代码添加到wp-config中

define('FS_METHOD', 'direct');

FS_METHOD强制使用文件系统方法。只能是direct、ssh2、ftpext或ftpsockets。通常,只有在遇到更新问题时才应该更改此选项。如果你改了也没用,那就改回来/去掉。在大多数情况下,如果自动选择的方法不起作用,将其设置为'ftpsockets'将正常工作。

(主要偏好)“direct”迫使它从PHP内部使用直接文件I/O请求,这在配置不佳的主机上充满了安全问题,这是在适当的时候自动选择的。

(二级偏好)“ssh2”是强制使用SSH PHP扩展如果安装

(第三优先)“ftpext”是强制使用FTP PHP扩展进行FTP访问,最后

(4日偏好)“ftpsockets”使用PHP套接字类进行FTP访问

欲了解更多信息,请访问:http://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants

方法1: 你可以这样设置: 1. 在wp-config.php中,您需要编写这些行。

define('FS_METHOD', 'direct'); 

注意:把这个放在define('DB_CHARSET', 'utf8mb4')之后。

设置wp-content权限或权限递归775完全权限 你可以通过filezilla传播。写点击目录>权限>检查读写和执行,并检查递归到子目录

方法2:

或者你也可以设置这个

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

是的,直接在WordPress中安装插件。

复制插件文件夹并粘贴到WordPress插件文件夹。 转到管理端(/test/wp-admin),然后转到插件链接,检查插件的名称。 激活插件,以便轻松安装插件。

其他选择

为插件代码创建zip文件。 转到管理端(/test/wp-admin),然后转到插件链接,然后单击add new,然后浏览插件zip文件夹,安装插件,然后出现激活插件选项,那么就激活插件,激活插件。

只是想补充一点,你绝对不能将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/*

我也推荐SSH SFTP更新器支持插件。这也解决了我所有的问题,特别是通过管理员删除插件。只要按通常的方式安装它,下次WordPress提示您提供FTP详细信息时,将会有额外的字段供您复制/粘贴您的私人SSH密钥或上传您的PEM文件。

唯一的问题是让它记住钥匙(两种方法都试过了)。我不喜欢每次需要删除插件时都要找到并输入它。但至少目前它是一个可靠的解决方案。