I need a PHP script to have writing permission in a directory. PHP 5.3 is running as FastCGI under IIS 7 with windows server 2008 as OP. On my php error logs, I got "permission denied" when the script attempts to write a file.
How can I sort this out? I tried to give all right to IIS_IUSR and to IUSR_myservername (with a right click on my folder) but it didn't work.
Any help would be very appreciate,
Regards,
Julien
I have the same setup and I have to give write permission to:
IUSR
IIS AppPool\<<AppPoolName>>
Actually, it's a little bit more complicated.
The first thing to do is to create a simple PHP file on the concerned website. (It's important to create the file on the concerned website because each website can have a different setting.) The content of this file should be:
<?php var_dump(ini_get('fastcgi.impersonate')); ?>
Navigate to this file using a browser.
** Case 1 **
If your browser shows :
string(1) "1"
Then, you need to execute the following command (you need to replace "Default Web Site" by the name you gave to your website in IIS) :
%windir%\system32\inetsrv\appcmd.exe list config "Default Web Site" ^
/section:anonymousAuthentication
You will receive an answer which looks like this :
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="true" userName="IUSR" />
</authentication>
</security>
</system.webServer>
The information you are looking for is the value of the username
attribute of the anonymousAutthentification
tag.
- If this value is not empty, its content is the name of the user you need to give write permissions to.
- If this value is empty or if the attribute is simply missing, you need to give write permissions to
IIS AppPool\AppPoolName
(replace "AppPoolName" with the name of your website's application pool).
** Case 2 **
If your browser shows :
string(1) "0"
You need to give write permissions to IIS AppPool\AppPoolName
(replace "AppPoolName" with the name of your website's application pool).
You need to give PHP writing permission, not IIS. This means the user account that PHP is running on needs permission (probably the same one IIS is running on).