Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am setting up a PHP application on IIS 8.5 on Windows Server 2012 R2. I have successfully set up this application before on several Windows Server 2008 R2 and Windows Server 2012 machines, but this is the first 2012 R2 machine I am using.

The PHP application has log and cache directories that it needs to write into.

On all previous machines, I have set up the PHP site to run in the Default Application Pool, and then given permission to the IIS_IUSRS group to read the entire site and to write to those directories. So far, this has worked on all of the previous servers I have used.

However, on this new server, PHP still says it does not have permission to write to the needed locations.

I checked in Task Manager to be sure that the IIS process (and the PHP CGI process) run as the expected user and find that they run as DefaultAppPool, as expected. However, the permissions don't seem to have worked. I tried stopping and restarting IIS, recycling the App Pool, and adding the IIS AppPool\DefaultAppPool user permissions directly to the folders, none of which have helped.

What is wrong here? Why does this not work when it worked with no trouble at all on four older servers?

share|improve this question
up vote 0 down vote accepted

There seems to have been some kind of filesystem-level or OS-level permissions caching, because the issue appears to have resolved itself after a complete system reboot (even though restarting IIS (W3SVC) and recycling App Pools really should have resolved this).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.