<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Per-site PHP configuration with IIS FastCGI</title>
	<atom:link href="http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/feed/" rel="self" type="application/rss+xml" />
	<link>http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/</link>
	<description>IIS, FastCGI, PHP and other interesting stuff</description>
	<lastBuildDate>Fri, 30 Jul 2010 17:19:44 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: ruslany</title>
		<link>http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/comment-page-1/#comment-1805</link>
		<dc:creator>ruslany</dc:creator>
		<pubDate>Fri, 26 Mar 2010 00:01:13 +0000</pubDate>
		<guid isPermaLink="false">http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/#comment-1805</guid>
		<description>@igor: The php-cgi.exe will run under the appPoolUser identity - this is expected. But it will impersonate the web site user when performing any file system operations. This way for example you can have the same PHP process pool handling requests from multiple web sites and as long as the sites use different anonymous identities, the PHP scripts for those sites will not be able to read each other files because PHP will impersonate the site&#039;s user when reading or writing files.</description>
		<content:encoded><![CDATA[<p>@igor: The php-cgi.exe will run under the appPoolUser identity &#8211; this is expected. But it will impersonate the web site user when performing any file system operations. This way for example you can have the same PHP process pool handling requests from multiple web sites and as long as the sites use different anonymous identities, the PHP scripts for those sites will not be able to read each other files because PHP will impersonate the site&#8217;s user when reading or writing files.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: igor</title>
		<link>http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/comment-page-1/#comment-1694</link>
		<dc:creator>igor</dc:creator>
		<pubDate>Tue, 23 Feb 2010 20:57:52 +0000</pubDate>
		<guid isPermaLink="false">http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/#comment-1694</guid>
		<description>Hi,

Thanks for the post. However I came to this page accidentally regarding another problem. As you said earlier in the comment:

As usual, in shared hosting environment you would need to ensure that account that is used to run php-cgi.exe has minimal set of privileges. It is recommended that you turn on fastCGI impersonation for PHP. &lt;b&gt;That way php-cgi processes for each web site will be running in a security context of impersonated user for that site.&lt;/b&gt;

I have w2k3 se sp2 x32, FastCGI, PHP 5.2.12 (fastcgi.impersonate = 1). I have a web site with identity, let&#039;s say, &lt;i&gt;webUser&lt;i&gt;. The application pool for this web sites runs under, let&#039;s say, &lt;i&gt;appPoolUser&lt;/i&gt; (part of IIS_WPG group). Web site works fine, but the one thing I can&#039;t understand is the following:
1. Worker process (w2wp.exe) starts under &lt;i&gt;appPoolUser&lt;/i&gt; as expected.
2. php-cgi.exe start under the same &lt;i&gt;appPoolUser&lt;/i&gt; identity (as per TaskManager).

Why php-cgi.exe does not run under &lt;i&gt;webUser&lt;i&gt;? or am I missing something?</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>Thanks for the post. However I came to this page accidentally regarding another problem. As you said earlier in the comment:</p>
<p>As usual, in shared hosting environment you would need to ensure that account that is used to run php-cgi.exe has minimal set of privileges. It is recommended that you turn on fastCGI impersonation for PHP. <b>That way php-cgi processes for each web site will be running in a security context of impersonated user for that site.</b></p>
<p>I have w2k3 se sp2 x32, FastCGI, PHP 5.2.12 (fastcgi.impersonate = 1). I have a web site with identity, let&#8217;s say, <i>webUser</i><i>. The application pool for this web sites runs under, let&#8217;s say, </i><i>appPoolUser</i> (part of IIS_WPG group). Web site works fine, but the one thing I can&#8217;t understand is the following:<br />
1. Worker process (w2wp.exe) starts under <i>appPoolUser</i> as expected.<br />
2. php-cgi.exe start under the same <i>appPoolUser</i> identity (as per TaskManager).</p>
<p>Why php-cgi.exe does not run under <i>webUser</i><i>? or am I missing something?</i></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ruslany</title>
		<link>http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/comment-page-1/#comment-1337</link>
		<dc:creator>ruslany</dc:creator>
		<pubDate>Wed, 30 Sep 2009 22:29:09 +0000</pubDate>
		<guid isPermaLink="false">http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/#comment-1337</guid>
		<description>@Abdallah: Turned out that the problem is caused by semicolons at the end of the types declarations. If you remove those it should work.

This will be fixed in the RTW release of the FastCGI Extension 1.5.</description>
		<content:encoded><![CDATA[<p>@Abdallah: Turned out that the problem is caused by semicolons at the end of the types declarations. If you remove those it should work.</p>
<p>This will be fixed in the RTW release of the FastCGI Extension 1.5.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Abdallah M. Gazal</title>
		<link>http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/comment-page-1/#comment-1314</link>
		<dc:creator>Abdallah M. Gazal</dc:creator>
		<pubDate>Tue, 22 Sep 2009 09:35:55 +0000</pubDate>
		<guid isPermaLink="false">http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/#comment-1314</guid>
		<description>Hi,

very nice article but with me i had to modify the fcgiext.ini manually (something wrong with the script) anyway my problem is, no matter what i do it always sees the first TYPE only, and cannot see the rest, i tried all types of syntax and yet always see the 1st entry, any idea why? Here is my code



[Types]
php:204766269=PHP STI-Travel;
php:1341913653=PHP SakkaraPayment;
php:628365814=PHP SakkaraToursIndia;

[PHP STI-Travel]
ExePath=C:\program files\PHP\php-cgi.exe
EnvironmentVars=PHPRC:C:\Inetpub\wwwroot\STI-Travel.com\httpdocs

[PHP SakkaraPayment]
ExePath=C:\program files\PHP\php-cgi.exe
EnvironmentVars=PHPRC:C:\Inetpub\wwwroot\Sakkarapayment.com\httpdocs


[PHP SakkaraToursIndia]
ExePath=C:\program files\PHP\php-cgi.exe
EnvironmentVars=PHPRC:C:\Inetpub\wwwroot\SakkaraToursIndia.com\httpdocs</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>very nice article but with me i had to modify the fcgiext.ini manually (something wrong with the script) anyway my problem is, no matter what i do it always sees the first TYPE only, and cannot see the rest, i tried all types of syntax and yet always see the 1st entry, any idea why? Here is my code</p>
<p>[Types]<br />
php:204766269=PHP STI-Travel;<br />
php:1341913653=PHP SakkaraPayment;<br />
php:628365814=PHP SakkaraToursIndia;</p>
<p>[PHP STI-Travel]<br />
ExePath=C:\program files\PHP\php-cgi.exe<br />
EnvironmentVars=PHPRC:C:\Inetpub\wwwroot\STI-Travel.com\httpdocs</p>
<p>[PHP SakkaraPayment]<br />
ExePath=C:\program files\PHP\php-cgi.exe<br />
EnvironmentVars=PHPRC:C:\Inetpub\wwwroot\Sakkarapayment.com\httpdocs</p>
<p>[PHP SakkaraToursIndia]<br />
ExePath=C:\program files\PHP\php-cgi.exe<br />
EnvironmentVars=PHPRC:C:\Inetpub\wwwroot\SakkaraToursIndia.com\httpdocs</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RuslanY Blog</title>
		<link>http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/comment-page-1/#comment-846</link>
		<dc:creator>RuslanY Blog</dc:creator>
		<pubDate>Sat, 11 Jul 2009 07:23:56 +0000</pubDate>
		<guid isPermaLink="false">http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/#comment-846</guid>
		<description>&lt;strong&gt;Per-site PHP configuration with PHP 5.3 and IIS...&lt;/strong&gt;

About a year ago I wrote an article about how to enable per-site PHP configuration on IIS with FastCGI. The instructions in that article required some non-trivial manipulations of IIS and FastCGI configuration settings. At that time it was one of the p...</description>
		<content:encoded><![CDATA[<p><strong>Per-site PHP configuration with PHP 5.3 and IIS&#8230;</strong></p>
<p>About a year ago I wrote an article about how to enable per-site PHP configuration on IIS with FastCGI. The instructions in that article required some non-trivial manipulations of IIS and FastCGI configuration settings. At that time it was one of the p&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kimio Tanaka</title>
		<link>http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/comment-page-1/#comment-446</link>
		<dc:creator>Kimio Tanaka</dc:creator>
		<pubDate>Thu, 12 Mar 2009 12:16:37 +0000</pubDate>
		<guid isPermaLink="false">http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/#comment-446</guid>
		<description>Thank you for the other day.

At last, Ｉ succeeded in Per-site PHP configuration with IIS7 FastCGI
using GUI.

http://iis.museum-in-cloud.com/wordpress/index.php/archives/87</description>
		<content:encoded><![CDATA[<p>Thank you for the other day.</p>
<p>At last, Ｉ succeeded in Per-site PHP configuration with IIS7 FastCGI<br />
using GUI.</p>
<p><a href="http://iis.museum-in-cloud.com/wordpress/index.php/archives/87" rel="nofollow">http://iis.museum-in-cloud.com/wordpress/index.php/archives/87</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: shee</title>
		<link>http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/comment-page-1/#comment-432</link>
		<dc:creator>shee</dc:creator>
		<pubDate>Sun, 08 Mar 2009 22:12:39 +0000</pubDate>
		<guid isPermaLink="false">http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/#comment-432</guid>
		<description>Thanks for sharing.</description>
		<content:encoded><![CDATA[<p>Thanks for sharing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ruslany</title>
		<link>http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/comment-page-1/#comment-14</link>
		<dc:creator>ruslany</dc:creator>
		<pubDate>Tue, 19 Aug 2008 02:05:08 +0000</pubDate>
		<guid isPermaLink="false">http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/#comment-14</guid>
		<description>s.r., you are correct. That was a typo - the correct path is %WINDIR%\system32\inetsrv\. Thanks for pointing that out - I&#039;ve fixed the text now.</description>
		<content:encoded><![CDATA[<p>s.r., you are correct. That was a typo &#8211; the correct path is %WINDIR%\system32\inetsrv\. Thanks for pointing that out &#8211; I&#8217;ve fixed the text now.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: s.r.</title>
		<link>http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/comment-page-1/#comment-13</link>
		<dc:creator>s.r.</dc:creator>
		<pubDate>Tue, 19 Aug 2008 00:27:57 +0000</pubDate>
		<guid isPermaLink="false">http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/#comment-13</guid>
		<description>actually %WINDIR%\system32\inetpub\ is not right path
Should be %WINDIR%\system32\inetsrv\
I didn&#039;t find inetpub folder in the system32 dir</description>
		<content:encoded><![CDATA[<p>actually %WINDIR%\system32\inetpub\ is not right path<br />
Should be %WINDIR%\system32\inetsrv\<br />
I didn&#8217;t find inetpub folder in the system32 dir</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ruslany</title>
		<link>http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/comment-page-1/#comment-8</link>
		<dc:creator>ruslany</dc:creator>
		<pubDate>Thu, 17 Jul 2008 18:55:57 +0000</pubDate>
		<guid isPermaLink="false">http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/#comment-8</guid>
		<description>Amit,

The only thing I can think of is that it may be possible that Zend Framework relies on the REQUEST_URI server variable to contain the original un-rewritten URL. This server variable is not available on IIS 5.1. ISAPI_Rewrite sets another server variable &quot;HTTP_X_REWRITE_URL&quot; that contains the original URL. 

Typically, if PHP application relies on REQUEST_URI, then it is fairly easy to fix it for IIS with ISAPI_Rewrite by adding this code:

if (isset($_SERVER[ &#039;HTTP_X_REWRITE_URL&#039; ]))  
     $_SERVER[ &#039;REQUEST_URI&#039; ] = $_SERVER[ &#039;HTTP_X_REWRITE_URL&#039; ];</description>
		<content:encoded><![CDATA[<p>Amit,</p>
<p>The only thing I can think of is that it may be possible that Zend Framework relies on the REQUEST_URI server variable to contain the original un-rewritten URL. This server variable is not available on IIS 5.1. ISAPI_Rewrite sets another server variable &#8220;HTTP_X_REWRITE_URL&#8221; that contains the original URL. </p>
<p>Typically, if PHP application relies on REQUEST_URI, then it is fairly easy to fix it for IIS with ISAPI_Rewrite by adding this code:</p>
<p>if (isset($_SERVER[ 'HTTP_X_REWRITE_URL' ]))<br />
     $_SERVER[ 'REQUEST_URI' ] = $_SERVER[ 'HTTP_X_REWRITE_URL' ];</p>
]]></content:encoded>
	</item>
</channel>
</rss>
