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

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


当前回答

在终端中执行以下代码

sudo chown -R www-data /var/www

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

其他回答

使用SSH安装插件的最佳方式是WPCLI。

注意,要使用WP CLI命令,SSH访问是必须的。在使用它之前,请检查您的主机服务器或机器上是否安装了WP CLI。

如何检查:wp——version[它将显示已安装的wp cli版本]

如果没有安装,如何安装: 在安装WP-CLI之前,请确保环境满足最低要求:

类unix环境(OS X, Linux, FreeBSD, Cygwin);Windows环境下有限的支持。 PHP 5.4或更高版本 WordPress 3.7或更高版本。比最新WordPress版本旧的版本可能会降低功能

如果以上几点满足,请按照以下步骤进行操作:参考URL: WPCLI

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
[ download the wpcli phar ]

php wp-cli.phar --info [ check whether the phar file is working ]

chmod +x wp-cli.phar [ change permission ]
sudo mv wp-cli.phar /usr/local/bin/wp [ move to global folder ]
wp --info [ to check the installation ]

现在可以安装WP CLI了。

现在你可以在WordPress.org中使用以下命令安装任何插件:

wp install plugin plugin-slug
wp delete plugin plugin-slug
wp deactivate plugin plugin-slug

注意:wp cli只能安装那些在wordpress.org中可用的插件

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

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

您可以通过在命令提示符上键入以下命令很容易地获得它

sudo chown -R www-data:www-data your_folder_name

或者复制并粘贴以下代码到您的wp-config.php文件中。

define('FS_METHOD', 'direct');

“your_folder_name”是你的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插件的错误信息。