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

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


当前回答

打开wp-config.php文件并添加以下行:

定义(“FS_METHOD”、“直接”);

这对我很有用…谢谢

其他回答

将以下代码添加到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

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

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

在wp-config.php添加定义('FS_METHOD', 'direct') 使服务器可写目录wp-content/, wp-content/plugins/。 安装插件(将插件目录复制到wp-content/plugins目录)。

工作版本3.2.1

如果你使用Ubuntu,一个对我有效的快速解决方案是将所有权交给Apache用户(默认为www-data),如下所示:

cd your_wordpress_directory
sudo chown -R www-data wp-content
sudo chmod -R 755 wp-content

我们使用SFTP和SSH(在我们的开发服务器和活动服务器上),我也尝试过(虽然不是很难)使用WordPress上传功能。我同意Toby的观点,将你的插件上传到wp-content/plugins目录,然后从那里激活它们。