It can be fun to mess around with WordPress themes locally. Whether you use MAMP, XAMPP, or install a full LAMP stack in Ubuntu, it is always convenient to be able to play with WordPress themes locally before loading to a production environment.
One of the pains that I have encountered is the process of downloading plugins locally. In a typical local install, users are prompted to enter FTP credentials.
Sure, you could make the long walk over to the plugin page, pick up the plugin container, carry it back to your plugin folder and unpack everything. You will be in business, but who wants to do extra work? Not me. Computers were built to do these types of tasks. Enter the magic of the wp-config.php
file.
How to install plugins in WordPress on localhost without Entering FTP Credentials
Add this line to your wp-config.php
file:
/** Enable Local Plugin Download */
define('FS_METHOD', 'direct');
As described by the WordPress Codex at:
https://codex.wordpress.org/Editing_wp-config.php
Under the heading “WordPress Upgrade Constants”
(Primary Preference) “direct” forces it to use Direct File I/O requests from within PHP, this is fraught with opening up security issues on poorly configured hosts, This is chosen automatically when appropriate.
The statement above about security issues on poorly configured hosts… The key here is only use this in a local development environment. If you are having this issue on a production web server, don’t use this fix. You probably have something else going on. WordPress has a huge development community and you can probably find a solution within a couple of google searches.
This is kind of a sidebar for this post, but one potential issue that comes to mind relates to file ownership:
Install plugins in WordPress without FTP Credentials file permission problem
Did you transfer files to your production server with a root, su, sudo
or superuser account? If you have access to a terminal, you can always check with stat [filename]
. The stat
command will show you who owns and what permissions your target file is set with.
There are too many configurations to solve for, but a couple of unix/linux commands that you will use to fix these problems are chmod
for permissions and chown
for ownership. Either look at the manual for these commands with man [command]
or search Google about how they would best fit your situation.
If you are unfamiliar with the unix/linux command line, I suggest checking out the free Learn the Command Line course with Codecademy.com.
Comment here and maybe we can figure it out. And if you found this after figuring out the cause and solution, please tell us what you did.
Whew, I am glad that we figured that out! As always, please comment if you get stuck or have suggestions/improvements.
Leave a Reply