WordPress upload permissions on IIS 7 Fix

01/18/2011 | By | 40 Replies More

This post will explain how to fix the permission problem on uploaded files in WordPress running on IIS 7.

I was having the same problem as you.  You upload an image in WordPress and either you get an error or the image will upload, thumbnails would work but the actual image would not have read permissions. I’m not an IIS or WordPress expert but after a ton of searching and trying things that didn’t work, this is what worked for me.

If you can’t upload an image at all, it’s probably because you need to give the IUSR account Read/Write/Modify permission on your wp-content folder.  This will allow you to upload, and do the WordPress & plugin updates.

Once you have done that, all you need to do is give the IIS_IUSRS group Read permissions on your “C:\Windows\Temp” folder.

Make sure to notice that the two permission changes you make are not for the same user/group.   Give IUSR permissions on your wp-content folder and IIS_IUSRS permissions on your Windows temp folder.

Note: If you have edited your php.ini file and change the upload temp directory then you will need to give IIS_IUSRS group read permissions on that folder instead.

That should do it, or at least it worked for me.

Tags: , ,

Category: Internet

About the Author ()

I'm a factory certified trainer for Haas Automation and train the service technicians who repair CNC mills and lathes. I'm a bit of a computer geek and enjoy programming, web design, 3D printing, playing with my laser cutter/engraver and taking things apart to see how they work.

Comments (40)

Trackback URL | Comments RSS Feed

  1. Fradique says:

    Years with the same problem, and you made me notice that IUSR is different than IIS_IUSR
    thank you so much

  2. Darren Goroski says:

    Thank you so much, worked great for me!

  3. Jose says:

    Thanks a lot. It works for me in Windows Server 2016

  4. Mario Nasr says:

    This is the second time in a couple of years that this post saved the day! Thank u

  5. Majid says:

    Thank you so much for this posting.

  6. vijay says:

    thanks for the great post it worked for me,i was searching about these from one day

  7. Rob says:

    Thanks a lot works like a sharm

  8. Denis Lacroix says:

    Ty so mutch

  9. Michael says:

    Thanks guys!!!!! This worked. Special thanks to Patrick with the hint of the phptemp dir.

  10. Sridevi says:

    This worked! Thanks so much!!

  11. Cesar says:

    Thanks so much. Worked like a charm.

  12. George says:

    But what if the Windows server is a remoter server where access is via FTP? From the example it appears to be local on the users own machine.

    • Chris says:

      These screen shots were taken from a VPS account. I connected to it via remote desktop. if you are connecting via FTP then I suspect you are on a shared hosting plan and will need to contact your hosting company for help with this. If you do have a VPS or better then you should look into connecting with remote desktop.

  13. Chris A says:

    5 years later and this post is still saving people. Thanks, I was doing my head in trying to work out what needed access to where.

    Solved my problem.

  14. Javier says:

    Thanks a lot, it was the only solution that worked!

  15. Ricardo says:

    Thank you! Working..

  16. Paul says:

    I love you! It worked.

  17. Mario says:

    THANKS ! Worked for me, Good article !

  18. Ansego says:

    Thanks mate. Been stressing over this for 2 days… Now finally working well. Keep up the good work.

  19. Mike says:

    Thanks for the post. Are there any security issues with giving IUSR write permissions to WP-content? Is there a scenario where an anonymous user will be able to write files to your WP-content directory?

    • Chris says:

      I’m not an expert but I guess if there was a flaw with WordPress that someone figures out how to take advantage of then it’s possible. I don’t think it’s necessary to give write access to the entire wp-content folder except for WordPress updates. You could do the updates manually if you’re concerned about it.

  20. Adrian Parr says:

    Thank you so much! Giving the IIS_IUSRS group Read permission on the “C:\Windows\Temp” folder worked for me. 😀

  21. Doug says:

    Big time thanks, Chris. This worked beautifully.

  22. Dave says:

    Thanks for taking the time to post this Chris – works perfectly and fixes the problem that was bugging me for a while!

  23. It worked!Thank you so much for this!!

  24. Brett says:

    This Works…I have been searching high and low for a solution. THANK YOU FROM THE BOTTOM OF MY HEART 🙂

  25. Roberta says:

    It worked!Thank you so much for this!!

  26. Phil says:

    YOU NAILED IT!!! After 7 hours of setting and resetting permissions…Your advice NAILED IT!


  27. Thanks a lot for the post, just found it after I solved the problem myself 😉

    Just as an addition: It’s possible to make those changes through the Plesk Panel as well.

    The user you have to give read and write permissions on the wp_content folder is called “Plesk IIS Anonymous Account (IUSR_domainuser)”.

    If you got error messages like “Unable to create directory – Is its parent directory writable by the server?” or “The uploaded file could not be moved to” this will fix it.

  28. Chad says:

    My problem was that I could not install new WordPress plugins in IIS7. I would always receive a 500 error. After 3 hours of Google searches I came across you’re advice. I was completely skeptical thinking i doubt he has the solution. I tried it and it works! I can install plugins without any problem now! Thank you very much!

  29. Vic says:

    Thank you! I set read-only permission to the windows\temp dir and all is well! Thanks for a great post.

  30. Joseph says:

    Worked just as it said it would. Was fussing with different settings trying to get this to work until I came across your article on how to do this. Thanks for the assistance.

  31. Catherine says:

    Thank you so much for this posting. All of the other “fixes” I had read only mentioned modifying permissions on the uploads folder. It wasn’t until we went up a folder to “wp-content” that it finally worked for us.

  32. rtpHarry says:

    Note: If you are using plesk then you should do this by navigating to the “file manager” section under the hosting section within plesk (its in lots of different places depending on the version you are running so just have a dig).

    Navigate to the wp-content folder, edit permissions (click the lock), and the user that you need to edit is IUSR_SiteNameHere where SiteNameHere will be something to do with your site name that you’re editing.

    I haven’t come up against the windows temp issue yet.

  33. Chris says:

    I wonder if you set the permissions correctly. Glad you got it working anyway.

  34. Patrick says:

    This didn’t work for me.

    It turned out though, that I had to change the uploads temp dir in my php.ini file to something different. I just made a new custom c:\phptemp dir and gave that modify permissions for IUSR.

Leave a Reply