Wordpress on IIS - The uploaded file could not be moved [SOLVED]

How to correct a common IIS/Wordpress issue

By  

There are a lot of reasons why you should avoid hosting Wordpress on a Windows/IIS server, but sometimes you have no choice. One of the most common issues when getting a Wordpress site up and running on IIS is that the image uploader tends to be broken out of the box.

The cause and solution for this problem can vary greatly, but generally it has to do with file system permissions on the Windows box. If you are completely unable to upload an image through Wordpress and are greeted with an error along the lines of:

The uploaded file could not be moved to C:\Some\Directory

There is a strong chance that the following steps will correct the issue for you.

Step 1) wp-content permissions

The first step is to adjust the folder permissions on the wp-content folder of your Wordpress installation. To do that, navigate to your blog installation directory and right click on the wp-content folder and choose “Properties”.

Next, click the Security tab.

On the wp-content properties dialog, click the Edit button to change the file permissions. On the following screen, look for an account labeled IUSR. Note that this is not the same as IIS_IUSRS. If IUSR exists, select it and grant it “Modify” permissions if it does not have them already. If the account does not exist, click the “Add” button to add it, then grant it “Modify” permissions. When you’re finished hit OK.

Step 2) PHP Temp folder permissions

The second step is to adjust the folder permissions on the Temp directory that PHP uses when uploading images. By default, this directory is C:\Windows\Temp but if your php.ini file was edited to modify that folder, use the modified directory. Navigate to C:\Windows and right click the “Temp” folder then choose “Properties”.

Next click the Security tab.

On the Temp properties dialog, click the Edit button to change the file permissions. On the following screen, look for an account labeled IIS_IUSRS. Note that this is different than the steps above. If IIS_IUSRS exists, select it and grant it “Read” permissions. If the account does not exist, click the “Add” button to add it, then grant it “Read” permissions. When you’re finished hit OK.

All Set

That should take care of the problem in most cases. That said, there are many different circumstances that can produce this issue but hopefully this was the answer for you as it was for me.

Read more of Matthew Mombrea's ByteStream blog and follow Matt on Twitter (@mombrea) and Google+. For the latest IT news, analysis and how-tos, follow ITworld on Twitter and Facebook.

Don't miss...

Why you should jailbreak your Apple TV - and how to do it
Why you should jailbreak your Apple TV - and how to do it
Apple iOS app review - frustrating and bad for your health
Apple iOS app review - frustrating and bad for your health
The best home backup plan options
The best home backup plan options
Join us:
Facebook

Twitter

Pinterest

Tumblr

LinkedIn

Google+

Ask a Question
randomness