Unable to create directory in wp-content/uploads i

2019-02-04 03:14发布

问题:

I am not able to upload any images to the Media section. I get this error message:

"Unable to create directory wp-content/uploads/2015/05. Is its parent directory writable by the server?"

I tried changing the permissions, gave full access 777 to both uploads, and wp-content directory but this didn't help.

I tried changing the owners to apache : apache for /wordpress/wp-content, but that hasn't helped either.

upload_path is set to wp-content/uploads in option-media.php. Still it is not working.

Tried defining upload path define(UPLOADS, 'wp-content/uploads');No Help.

(server: centos)

Someone, please help!!!

-Thanks in advance.

回答1:

Debian like:

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


回答2:

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.



回答3:

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



回答4:

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.



回答5:

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.



回答6:

I have managed to solve this by updating the reference to Settings Media Store uploads folder.

Go to WordPress admin -> Settings -> Media, and update Store uploads in this folder option with what is in your public_html hosting account.

/home/<base_folder_name>/public_html/wp-content/uploads

For me the <base_folder_name> was different than what was in the hosting account.



回答7:

"The uploaded file could not be moved to wp-content/uploads/2015/05."

This error comes because of insufficient permission to your user on to the server.

One Quick and dirty way to solve this error is to set 777 permission but some time it may not also work.

Follow this link this will help you http://2surge.com/how-to-fix-the-uploaded-file-could-not-be-moved-to-wp-content-error-message/

Thanks



回答8:

Try following. Make sure {yourpath} is replaced with correct path

Creates upload directory with super user permission

sudo mkdir -p /var/www/{yourpath}/wp-content/uploads

Change ownership to the current user

sudo chown -R $USER:$USER /var/www/{yourpath}/wp-content/uploads


回答9:

I had the same problem here on a Parallels Plesk server. I had to change the access permissions for the webserver/website user using the access options from within the file manager.

Hope this helps!



回答10:

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.



回答11:

This solution worked for me:

chown -R www-data:www-data /path-to-mywordpress-root-folde


回答12:

This is sometimes an issue with file and directory ownership than permissions. Find out the user the php code is executing as using phpinfo() page.

Once you know the system user, make sure the FTP account you are using is configured to upload the files as that user. If it has been uploaded using different user, use chown to change the ownership of the base path to match the user.

For example:

$ sudo chown -R <user> /path/to/public_html


回答13:

Just run this command:

sudo chown -R www-data /path/to/wordpress

hope it helps.



回答14:

I was looking for a MAC/ OSX solution and found this related question but it didn't help. The following works for me: 1- Right-click on wp-content and go to Get Info and change permissions as follow:

After click on the setting gear icon and Apply to enclosed items....