WordPress recently upgraded from version 5.7.2 to version 5.8. I ssh-ed into my server, went to my public_html directory, and tried to update my core version of WordPress by doing
wp core update. But I got the following error:
Error: Could not create directory.
This is due to an ownership/permissions issue on the wp_content/upgrade directory. Likely that directory doesn't have write permissions by your user because the web server is both the owner and group owner.
How to fix Could not create directory when running wp core update?
cd into the
ls -land take note of the current ownership of the "upgrade" directory. For me, it's
drwxr-xr-x 2 www-data www-data 4096 Jul 28 18:41 upgrade.
sudo chown -R your_user:www-data upgrade/
Change "your_user" with the actual name of your user and make sure "www-data" is your web server. If you run
ls -l, you should now see something like this:
drwxr-xr-x 2 edgar www-data 4096 Jul 28 18:41 upgrade.
Go back up one level to the
/public_htmldirectory by running
Now, you should be able to run
wp core updatewithout any issues.
You should now have the updated core version of WordPress. You can make sure by running
wp core version.
Now you can change everything back to the way it was.
cd back into the
sudo chown -R www-data:www-data upgrade/.
If you check by running
ls -l, the web server should now be again both the owner and group owner.
That's how you work around the "could not create directory" issue when using wp-cli.
Side note, after upgrading WordPress, it's a good idea to restart the fpm process by running
sudo systemctl restart php7.4-fpm
Don't forget to change php7.4 to the version you are actually using.