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?