Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to create directory in wp-content/uploads in Wordpress

People also ask

Why the uploaded file could not be moved to wp-content uploads?

It is likely that the system user running the application doesn't have permission to write content to the destination folder. WordPress files are typically hosted on a web hosting server or Droplet, and require certain permissions to work properly.


Debian like:

chown -R www-data:www-data /var/www/{yourpath}/wp-content/uploads

I was having a similar problem after migrating from a development site to a production site. It turned out that the message is deceptive. Check Settings, Media. Verify the directory for media is accurate for the current site. If the site was migrated, the directory listed still be from the old site and may need to be updated.


If this error is showed after migrating wordpress to new server check upload path in: settings->media->Store uploads in this folder

default value is wp-content/uploads.

Probably you have old path.


Change permissions on the /wp-content directory to 0775 and try it again.

sudo chmod 0775 {yourpath}/wp-content/uploads

If it fails, change the permissions to 0777 and try again.

sudo chmod 0777 {yourpath}/wp-content/uploads

Once it is successful, be sure to return the permissions on /wp-content to whatever they were when you started.

You may also want to put the permissions back on any other files you changed while attempting to resolve the issue.

More options you can find here: https://www.tipsandtricks-hq.com/how-to-fix-the-unable-to-create-directory-error-in-wordpress-5264

Reggards


You may have to add a folder named uploads first before you change any permissions.

My environment is xampp in Ubuntu 18.04 and the Wordpress installation failed to create the folder 'uploads'.

cd into the wp-content directory.

mkdir uploads

while still in the wp-content path, use chmod 0777 to add the relevant permissions:

sudo chmod 0777 uploads

This worked for me.


Go to wp-admin/options.php
Under upload_path replace with exactly wp-content/uploads (no quotes, no extra slashes)
That worked for me after I had tried to all other solutions for days.


I tried all the solutions from How to Fix the Unable to create directory Error in WordPress in my Centos7. But it won't work.

Then I found some useful message in /var/log/audit/audit.log

type=AVC msg=audit(1495357844.782:604): avc: denied { write } for pid=2721 comm="httpd" name="wp-content" dev="dm-5" ino=1074299184 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:etc_runtime_t:s0 tclass=dir type=SYSCALL msg=audit(1495357844.782:604): arch=c000003e syscall=83 success=no exit=-13 a0=7fffba9c62c0 a1=1ff a2=8 a3=5 items=0 ppid=1556 pid=2721 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null)

Check the file infomation : ls -Z /data/web/wordpress

Found that SELinux prevented Httpd to access the files. So you can disable the SELinux, or modify the file context: chcon -R --type=httpd_sys_rw_content_t /data/web/wordpress . And it works.