WordPress upload permissions on IIS 7 Fix
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.
Category: Internet
About the Author (Author Profile)
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
Sites That Link to this Post
- wordpress从零开始-常见问题 – IT知元 | 09/17/2019
- IIS WordPress Uploaded Files 500 Error | henrywrites | 04/20/2017
Years with the same problem, and you made me notice that IUSR is different than IIS_IUSR
thank you so much
Thank you so much, worked great for me!
Thanks a lot. It works for me in Windows Server 2016
This is the second time in a couple of years that this post saved the day! Thank u
Thank you so much for this posting.
thanks for the great post it worked for me,i was searching about these from one day
Thanks a lot works like a sharm
Ty so mutch
Nice. Thx.
Thanks guys!!!!! This worked. Special thanks to Patrick with the hint of the phptemp dir.
This worked! Thanks so much!!
Thanks so much. Worked like a charm.
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.
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.
Thank you.
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.
Thanks a lot, it was the only solution that worked!
Thank you! Working..
I love you! It worked.
THANKS ! Worked for me, Good article !
Thanks mate. Been stressing over this for 2 days… Now finally working well. Keep up the good work.
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?
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.
Thank you so much! Giving the IIS_IUSRS group Read permission on the “C:\Windows\Temp” folder worked for me. 😀
Big time thanks, Chris. This worked beautifully.
Thanks for taking the time to post this Chris – works perfectly and fixes the problem that was bugging me for a while!
It worked!Thank you so much for this!!
This Works…I have been searching high and low for a solution. THANK YOU FROM THE BOTTOM OF MY HEART 🙂
It worked!Thank you so much for this!!
YOU NAILED IT!!! After 7 hours of setting and resetting permissions…Your advice NAILED IT!
Thanks!
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.
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!
Thank you! I set read-only permission to the windows\temp dir and all is well! Thanks for a great post.
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.
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.
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.
I wonder if you set the permissions correctly. Glad you got it working anyway.
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.