问题
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
回答1:
I have the same setup and I have to give write permission to:
IUSR
IIS AppPool\<<AppPoolName>>
回答2:
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).
回答3:
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).
来源:https://stackoverflow.com/questions/5887131/add-writing-permission-to-php-on-iis-7