Home >Backend Development >PHP Tutorial >When php is run under iis in fastCGI mode, file system permission problems encountered and solutions
Today I am going to run a php demo under IIS. The configuration of the website under IIS is as follows:
The application pool is .net framework 2.0 in integrated mode (it doesn’t matter if it’s 2.0 or 4.0, because PHP runs in fastCGI mode). The application pool identity is configured as the NETWORKSERVICE built into IIS, and the authentication method used is anonymous authentication.
Open the local website and access the php page, but a 500 error occurs.
Okay, it’s a permissions issue. The simplest solution is to set the permissions of C:UsersAdministratorPhpstormProjectsphpDemo to Everyone, and allow full control:
Revisited the php page and succeeded:
The above method is simple enough, but it is also too unsafe. It is usually no problem to set up a local demo to do this, but when it is actually online, it will cause problems sooner or later.
So I reset it and gave the read-only permissions in the directory to the NETWRORKSERVICE account and tried again
However, the problem is still not solved. When accessing, a 401 error occurred
The error message includes the display that the logged-in user is anonymous. Check the authentication under the website (then click Anonymous Authentication->Edit). It turns out that by default, when the login method is anonymous, the default login user used by the website is IUSR. (This is the anonymous login user we see)
Then the solution is:
1. Set IUSR to the read permission of C:UsersAdministratorPhpstormProjectsphpDemo, similar to the previous setting of NETWORKSERVICE.
2. Or choose to use the application pool identity.
After testing, both methods 1 and 2 were successful.
Note: NETWORKSERVICE belongs to the iis_iusers user group in IIS7. The previous settings for NETWORKSERVICE can also be changed to the settings for iis_iusers, which can also solve the problem, but the permissions are further relaxed.
The above introduces the file system permission problems and solutions encountered when PHP is run under iis in fastCGI mode, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.