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
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?