I am using WordPress on my live server which only uses SFTP using an SSH key.
I want to install and upgrade plugins, but it appears that you are required to enter your FTP login to install the plugins. Is there a way to install and upgrade plugins by manually uploading the files instead of having WordPress handle the entire process?
WordPress will only prompt you for your FTP connection information while trying to install plugins or a WordPress update if it cannot write to
/wp-content
directly. Otherwise, if your web server has write access to the necessary files, it will take care of the updates and installation automatically. This method does not require you to have FTP/SFTP or SSH access, but it does require your to have specific file permissions set up on your webserver.It will try various methods in order, and fall back on FTP if Direct and SSH methods are unavailable.
https://github.com/WordPress/WordPress/blob/4.2.2/wp-admin/includes/file.php#L912
WordPress will try to write a temporary file to your
/wp-content
directory. If this succeeds, it compares the ownership of the file with its own uid, and if there is a match it will allow you to use the 'direct' method of installing plugins, themes, or updates.Now, if for some reason you do not want to rely on the automatic check for which filesystem method to use, you can define a constant,
'FS_METHOD'
in yourwp-config.php
file, that is either'direct', 'ssh', 'ftpext' or 'ftpsockets'
and it will use that method. Keep in mind that if you set this to 'direct', but your web user (the username under which your web server runs) does not have proper write permissions, you will receive an error.In summary, if you do not want to (or you cannot) change permissions on wp-content so your web server has write permissions, then add this to your wp-config.php file:
Permissions explained here:
You can have fileZilla and use FTP Account to update plugins and themes. Or you can just login to Cpanel and access wordpress folder and then you can update theme by unzipping theme or plugin.
The best way to install plugin using SSH is WPCLI.
Note that, SSH access is mandatory to use WP CLI commands. Before using it check whether the WP CLI is installed at your hosting server or machine.
How to check :
wp --version
[ It will show the wp cli version installed ]If not installed, how to install it : Before installing WP-CLI, please make sure the environment meets the minimum requirements:
UNIX-like environment (OS X, Linux, FreeBSD, Cygwin); limited support in Windows environment. PHP 5.4 or later WordPress 3.7 or later. Versions older than the latest WordPress release may have degraded functionality
If above points satisfied, please follow the steps : Reference URL : WPCLI
Now WP CLI is ready to install.
Now you can install any plugin that is available in WordPress.org by using the following commands :
NOTE : wp cli can install only those plugin which is available in wordpress.org
Try this Check whether the correct permission is given to wp-content folder.
Edit the wp-config.php add the following line
chmod the "wp-content" directory to www-data for full access.
Now try installing the plugin.
Usually you can just upload your plugin to the
wp-content\plugins
directory. If you don't have access to this directory via SFTP I'm afraid you may be stuck.WordPress 2.7 lets you upload a zip file directly (there's a link at the bottom of the plugins page) -- no FTP access needed. This is a new feature in 2.7, and it works for plugins only (not themes yet).