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

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


当前回答

当你没有权限在/wp-content目录上写内容时,WordPress不允许你通过WordPress管理仪表板上传任何插件的唯一原因。请记住,您的wordpress目录/wp-content需要0755权限级别。 有多种方法可以更改文件夹的权限级别。

使用cPanel更改文件权限:

进入文件管理器,打开你的wordpress网站应该在的公共HTML文件夹,或者如果你的网站在其他文件夹中,打开网站根目录。在你的WordPress根目录导航到wp-content文件夹;在wp-content文件夹行的末尾,最后一个框包含此文件夹的文件权限。确保将文件夹权限级别编辑为0755,就完成了。

使用SSH终端修改文件权限:

在你的终端找到WordPress站点的根目录,在我的例子中是/var/www/html,所以要移动到WordPress根目录,输入以下命令:

cd /var/www/html 

现在你在WordPress根目录中,需要的文件夹/wp-content就在这里。因此,要更改文件权限键入以下命令:

sudo chmod wp-content 755 

这将更改您的/wp-content目录文件权限为0755。

现在你不会得到通过FTP上传wordpress插件的错误信息。

其他回答

为了能够使用SSH2进行更新和主题上传,您必须生成SSH密钥并安装PHP SSH模块。然后WordPress会检测到你有SSH2可用,当你上传/升级时,你会看到一个不同的选项(SSH2)。

1)。确保你为debian安装了PHP模块,它是:

sudo apt-get install libssh2-php

2)。生成SSH密钥,可选添加密码短语:

ssh-keygen
cd  ~/.ssh
cp id_rsa.pub authorized_keys

3)。更改权限,以便WordPress可以访问这些密钥:

cd ~
chmod 755 .ssh
chmod 644 .ssh/*

现在当你上传/升级/插件时,你会得到SSH2选项。

4)。为了更方便,你可以在wp-config.php中设置默认值,这将在WordPress上传窗口中预先填充SSH凭据。

define('FTP_PUBKEY','/home/<user>/.ssh/id_rsa.pub');
define('FTP_PRIKEY','/home/<user>/.ssh/id_rsa');
define('FTP_USER','<user>');
define('FTP_PASS','passphrase');
define('FTP_HOST','domain.com');

'passphrase'是可选的,如果你在ssh-kengen期间没有设置一个passphrase;然后不要在wp-config.php中添加它

这解决了我的问题。而且我根本不用嚼东西。但我在其他地方看到过这种方法。

引用:

http://wp.tutsplus.com/articles/tips-articles/quick-tip-upgrade-your-wordpress-site-via-ssh/ http://codex.wordpress.org/Editing_wp-config.php#Enabling_SSH_Upgrade_Access

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

只是对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");

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

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

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

这对我很有用…谢谢