<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>RuslanY Blog &#187; PHP</title>
	<atom:link href="http://ruslany.net/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://ruslany.net</link>
	<description>IIS, FastCGI, PHP and other interesting stuff</description>
	<lastBuildDate>Fri, 30 Jul 2010 23:07:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Install PHP applications with WebMatrix</title>
		<link>http://ruslany.net/2010/07/install-php-applications-with-webmatrix/</link>
		<comments>http://ruslany.net/2010/07/install-php-applications-with-webmatrix/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 20:45:10 +0000</pubDate>
		<dc:creator>ruslany</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WebMatrix]]></category>

		<guid isPermaLink="false">http://ruslany.net/?p=791</guid>
		<description><![CDATA[Microsoft has recently launched a beta release of a new project called WebMatrix. This is a complete web development stack that can be used to start developing and deploying web sites. One thing that may be not so obvious from all the existing announcements is the fact that WebMatrix has full support for installing, running and [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft has recently launched a beta release of a new project called <a href="http://www.microsoft.com/web/webmatrix/">WebMatrix</a>. This is a complete web development stack that can be used to start developing and deploying web sites. One thing that may be not so obvious from all the existing announcements is the fact that WebMatrix has full support for installing, running and publishing PHP applications.</p>
<p>Here are the examples of how WebMatrix can be used to create and publish a PHP web site (using WordPress as a showcase).<span id="more-791"></span></p>
<h3>Installing a PHP application</h3>
<p>After installing and launching WebMatrix select “Site from Web Gallery” option and then pick WordPress:</p>
<p><a href="http://ruslany.net/wp-content/uploads/2010/07/WebMatrix3.png"><img class="alignnone size-medium wp-image-796 screenshot" title="Select a PHP application in Web Gallery" src="http://ruslany.net/wp-content/uploads/2010/07/WebMatrix3-400x285.png" alt="" width="400" height="285" /></a></p>
<p>Follow the installation steps as described in <a href="http://learn.iis.net/page.aspx/863/download-and-install-a-php-application/">Download and Install a PHP application</a>. As you proceed you will notice that WebMatrix downloads and installs the necessary components for running WordPress – the latest version of PHP 5.2 and MySQL. At the end of the installation process you will get a working instance of WordPress, that you can configure and customize further:</p>
<p><a href="http://ruslany.net/wp-content/uploads/2010/07/WebMatrix9.png"><img class="alignnone size-medium wp-image-797 screenshot" title="WordPress in Web Browser" src="http://ruslany.net/wp-content/uploads/2010/07/WebMatrix9-400x316.png" alt="" width="400" height="316" /></a></p>
<p>Notice the port number used in the URL. This is not the standard port 80 used by default in IIS. The site is not running on IIS that is included with operating system. Instead WebMatrix installs and uses <a href="http://blogs.iis.net/vaidyg/archive/2010/07/06/introducing-iis-developer-express.aspx">IIS Developer Express</a>, which is a developer-focused version of IIS that runs on all versions of Windows, starting from Windows XP. This is actually very cool because now it is possible to get the latest and greatest IIS features on Windows XP instead of using the good old IIS 5.1 as development web server <img src='http://ruslany.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . But even if you already have Windows 7, you may still want to use IIS Developer Express, because with that you do not need to enable real IIS Web Server included with OS on your development machine.</p>
<p>Even though IIS Developer Express is a lightweight development server it comes with everything needed to run PHP applications, including the latest version of FastCGI module and URL Rewrite 2.0. This means that after you install WordPress with WebMatrix you can enable WordPress’ pretty permalinks by following the instructions at <a href="http://ruslany.net/2009/05/iis-7-url-rewrite-module-support-in-wordpress-28/">IIS URL Rewrite Module support in WordPress</a>.</p>
<blockquote><p><strong>Note</strong>: By default WebMatrix and IIS Developer Express are not configured to run PHP even if PHP is already installed on the machine. To work this around  install any PHP application via WebMatrix UI. This way WebMatrix will configure IIS Developer Express to handle PHP requests. This is something that will be fixed in future releases of WebMatrix.</p></blockquote>
<h3>Modifying a PHP application</h3>
<p>After the WordPress is installed there are several things you can do with it from within WebMatrix. For example you can edit the theme files by using the built-in editor:</p>
<p><a href="http://ruslany.net/wp-content/uploads/2010/07/WebMatrix12.png"><img class="alignnone size-medium wp-image-798 screenshot" title="Modify the WordPress theme file" src="http://ruslany.net/wp-content/uploads/2010/07/WebMatrix12-400x344.png" alt="" width="400" height="344" /></a></p>
<p>You can check what kind of HTTP requests are made by Web Browser to load a typical WordPress page:</p>
<p><a href="http://ruslany.net/wp-content/uploads/2010/07/WebMatrix13.png"><img class="alignnone size-medium wp-image-799 screenshot" title="Check HTTP Requests" src="http://ruslany.net/wp-content/uploads/2010/07/WebMatrix13-400x260.png" alt="" width="400" height="260" /></a></p>
<p>(Learn more about this feature at <a href="http://learn.iis.net/page.aspx/867/analyze-your-website/">Using WebMatrix Beta: Analyze Your WebSite</a>)</p>
<p>Also, you can check the WordPress database content by using the WebMatrix Database Manager:</p>
<p><a href="http://ruslany.net/wp-content/uploads/2010/07/WebMatrix15.png"><img class="alignnone size-medium wp-image-803 screenshot" title="Check WordPress Database Content" src="http://ruslany.net/wp-content/uploads/2010/07/WebMatrix15-400x262.png" alt="" width="400" height="262" /></a></p>
<p>And, finally, you can run the search engine optimization analysis and fix any SEO violations found within the application:</p>
<p><a href="http://ruslany.net/wp-content/uploads/2010/07/WebMatrix14.png"><img class="alignnone size-medium wp-image-800 screenshot" title="Search Engine Optimization" src="http://ruslany.net/wp-content/uploads/2010/07/WebMatrix14-400x242.png" alt="" width="400" height="242" /></a></p>
<p>(Learn more about this feature at <a href="http://learn.iis.net/page.aspx/866/make-your-website-seo-friendly/">Using WebMatrix Beta: Make your Website SEO Friendly</a>)</p>
<h3>Publishing a PHP application</h3>
<p>The last step is the publishing of the web application on a live web server. WebMatrix can publish the content to a web server by using various protocols: FTP, FTP/SSL and WebDeploy (note that FTP protocols cannot be used to publish MySQL database). You can pick a hosting provider from the list offered by WebMatrix or you if you know the publishing settings from your hosting provider you can manually enter them in WebMatrix.</p>
<p><a href="http://ruslany.net/wp-content/uploads/2010/07/WebMatrix17.png"><img class="alignnone size-medium wp-image-807 screenshot" title="Publish to a hosting web site" src="http://ruslany.net/wp-content/uploads/2010/07/WebMatrix17-400x307.png" alt="" width="400" height="307" /></a></p>
<p>When you publish the content the WebMatrix will show you the list of files and the database that will be uploaded to the server. Note also that during publishing the WebMatrix will replace the current database connection settings in <strong>wp-config.php</strong>file with the connection settings used on a hosting web server. WebMatrix will extract that information from the connection string that you specify in publishing settings:</p>
<p><a href="http://ruslany.net/wp-content/uploads/2010/07/WebMatrix18.png"><img class="alignnone size-medium wp-image-808 screenshot" title="WebMatrix18" src="http://ruslany.net/wp-content/uploads/2010/07/WebMatrix18-400x307.png" alt="" width="400" height="307" /></a></p>
<p>(Learn more about publishng web sites at <a href="http://learn.iis.net/page.aspx/871/publish-your-website/">Using WebMatrix Beta: Publish Your WebSite</a>)</p>
<h3>Feedback and suggestions</h3>
<p>The WebMatrix is a beta release and the WebMatrix team is open to any constructive feedback on how to improve the product. Do you have any suggestions or have you run into any problems when using WebMatrix? What PHP related features would you like to see in this product? Please let the team know by starting the thread on <a href="http://forums.iis.net/1166.aspx">WebMatrix forum</a> or by leaving a comment here.</p>
]]></content:encoded>
			<wfw:commentRss>http://ruslany.net/2010/07/install-php-applications-with-webmatrix/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>WinCache Extension 1.1 for PHP &#8211; Release to Web</title>
		<link>http://ruslany.net/2010/06/wincache-extension-1-1-for-php-release-to-web/</link>
		<comments>http://ruslany.net/2010/06/wincache-extension-1-1-for-php-release-to-web/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 19:44:11 +0000</pubDate>
		<dc:creator>ruslany</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WinCache]]></category>
		<category><![CDATA[IIS News Item]]></category>

		<guid isPermaLink="false">http://ruslany.net/?p=784</guid>
		<description><![CDATA[Today IIS team has published the final release of WinCache Extension 1.1 for PHP. This is the latest stable and production ready version of the extension. The v1.1 has all the features available in version 1.0 plus the following features. User Cache API’s can be used by PHP scripts to store PHP objects and variables [...]]]></description>
			<content:encoded><![CDATA[<p>Today IIS team has published the final release of <a href="http://www.iis.net/download/wincacheforphp">WinCache Extension 1.1 for PHP</a>. This is the latest stable and production ready version of the extension. The v1.1 has all the features available in <a href="http://www.iis.net/download/wincacheforphp">version 1.0</a> plus the following features.</p>
<ul>
<li><strong><a href="http://docs.php.net/manual/en/ref.wincache.php">User Cache API’s</a></strong> can be used by PHP scripts to store PHP objects and variables in shared memory. This way PHP scripts may improve the execution speed by storing processed data in the cache and then using it in subsequent requests instead of re-creating the data on every request.</li>
<li><strong><a href="http://docs.php.net/manual/en/wincache.sessionhandler.php">WinCache Session Handler</a></strong> can be used to configure PHP to store the session data in shared memory cache. Using shared memory instead of the default file session storage helps improve performance of PHP applications that store large amount of data in session objects. The content of the WinCache session cache is persisted on disk so that it is not lost during IIS worker process recycling.</li>
<li><strong>File Change Notifications</strong> – the entries in the opcode and file caches are now updated as soon as the corresponding PHP files are modified on a file system. This is very useful for PHP applications that store its configuration in PHP files – for example Joomla!. Now the configuration changes for those applications take effect right away instead of a 30 seconds delay (default cache refresh interval).</li>
<li><a href="http://us3.php.net/manual/en/function.wincache-lock.php"><strong>Lock/Unlock API’s</strong></a> – these API’s can be used to obtain/release an exclusive lock on a key in the cache.</li>
</ul>
<h3>Install the Windows Cache Extension 1.1 for PHP – RTW</h3>
<p>To install the WinCache Extension 1.1 for PHP 5.2 and PHP 5.3, use the download links at the extension’s home page at <a href="http://www.iis.net/expand/WinCacheForPhp">http://www.iis.net/expand/WinCacheForPhp</a>.<span id="more-784"></span></p>
<p>The installation with Web Platform Installer is the easiest as it will automatically place the extension binary into proper location and will update the PHP configuration to enable the extension. Also, if you have the previous version of the extension installed, then Web PI will upgrade it. If you install any PHP application by using Web PI then the WinCache Extension 1.1 for PHP will be offered as an optional component.</p>
<p>If you install the extension manually, then follow the instructions at <a href="http://us2.php.net/manual/en/wincache.setup.php">Installing/Configuring WinCache for PHP</a>.</p>
<h3>Getting the extension source code</h3>
<p>The source code for the extension is available at <a href="http://pecl.php.net/package/WinCache/1.1.0stable">http://pecl.php.net/package/WinCache/1.1.0stable</a>. For the instructions on how to build the extension yourself refer to <a href="http://us2.php.net/manual/en/wincache.win32build.php">Building WinCache Extension</a>.</p>
<h3>Getting support</h3>
<p>The WinCache extension is not supported by Microsoft Product Support Services. Instead it is supported as any other community PHP extension via the forums, mailing lists and the PECL bugs database. Use the following resources:</p>
<ul>
<li>To get help with installation, configuration and usage – <a href="http://www.php.net/wincache/">WinCache documentation on php.net</a>;</li>
<li>To ask questions about the extension – <a href="http://forums.iis.net/1164.aspx">WinCache forum on iis.net</a>;</li>
<li>To report a bug in the extension – <a href="http://pecl.php.net/bugs/">PECL bug tracking system</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ruslany.net/2010/06/wincache-extension-1-1-for-php-release-to-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinCache Extension 1.1 for PHP &#8211; Beta 2</title>
		<link>http://ruslany.net/2010/04/wincache-extension-1-1-for-php-beta-2/</link>
		<comments>http://ruslany.net/2010/04/wincache-extension-1-1-for-php-beta-2/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 18:03:01 +0000</pubDate>
		<dc:creator>ruslany</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WinCache]]></category>
		<category><![CDATA[IIS News Item]]></category>

		<guid isPermaLink="false">http://ruslany.net/?p=755</guid>
		<description><![CDATA[Today IIS team has published a second beta of WinCache 1.1, which has the following new features and improvements : File Change Notifications &#8211; the entries in the opcode and file caches are now updated as soon as the corresponding PHP files are modified on a file system. This is very useful for PHP applications [...]]]></description>
			<content:encoded><![CDATA[<p>Today IIS team has published a <a href="http://www.iis.net/download/WinCacheForPhp">second beta of WinCache 1.1</a>, which has the following new features and improvements :</p>
<ul>
<li><strong>File Change Notifications</strong> &#8211; the entries in the opcode and file caches are now updated as soon as the corresponding PHP files are modified on a file system. This is very useful for PHP applications that store its configuration in PHP files – for example Joomla!. Now the configuration changes for those applications take effect right away instead of a 30 seconds delay (default cache refresh interval);</li>
<li><a href="http://docs.php.net/manual/en/wincache.sessionhandler.php"><strong>Persistent Session Handler</strong></a> &#8211; the content of the WinCache session cache is persisted on disk so that it is not lost during IIS worker process recycling.</li>
<li><a href="http://us3.php.net/manual/en/function.wincache-lock.php"><strong>Lock/Unlock API’s</strong></a> – these API’s can be used to obtain/release an exclusive lock on a key in the cache.</li>
</ul>
<p>The beta builds of the extension can be downloaded and installed from the extension home page at: <a href="http://www.iis.net/expand/wincacheforphp">http://www.iis.net/expand/wincacheforphp</a> (look for the “<strong>WinCache 1.1 – Beta 2</strong>” section there). The source code can be obtained from <a title="http://pecl.php.net/package/WinCache/1.1.0beta2" href="http://pecl.php.net/package/WinCache/1.1.0beta2">http://pecl.php.net/package/WinCache/1.1.0beta2</a>. The documentation for the extension can be found on <a href="http://www.php.net/manual/en/book.wincache.php">PHP.NET WinCache documentation</a>.</p>
<p>To learn how to change popular PHP applications to use WinCache 1.1 features refer to the following:</p>
<ul>
<li><a href="http://blogs.iis.net/donraman/archive/2010/03/05/performance-improvement-in-joomla-using-wincache-user-cache.aspx">Performance Improvement in Joomla using WINCACHE user cache</a></li>
<li><a href="http://blogs.iis.net/donraman/archive/2010/03/15/performance-improvements-in-drupal-with-wincache-user-cache.aspx">Performance Improvement in Drupal using WINCACHE user cache</a></li>
<li><a href="http://ruslany.net/2010/03/make-wordpress-faster-on-iis-with-wincache-1-1/">Make WordPress faster on IIS with Wincache 1.1</a></li>
</ul>
<p>This is the beta release and the WinCache team is looking for your feedback on new features and functionality. Use the <a href="http://forums.iis.net/1164.aspx">WinCache Community Forum</a> to ask questions about the extension, report bugs and problems and to suggest features and improvements.</p>
]]></content:encoded>
			<wfw:commentRss>http://ruslany.net/2010/04/wincache-extension-1-1-for-php-beta-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slides and Questions from PHP on Windows Webcast</title>
		<link>http://ruslany.net/2010/04/slides-and-questions-from-php-on-windows-webcast/</link>
		<comments>http://ruslany.net/2010/04/slides-and-questions-from-php-on-windows-webcast/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 19:11:56 +0000</pubDate>
		<dc:creator>ruslany</dc:creator>
				<category><![CDATA[FastCGI]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WinCache]]></category>

		<guid isPermaLink="false">http://ruslany.net/?p=737</guid>
		<description><![CDATA[On April 9, Mark Brown and I did a PHP&#124;Architect webcast “PHP Performance On Windows”. The slides from the presentation have been published at the following link: PHP Performance on Windows – slides There were a number of question at the end of the webcast that we did not get to answer due to lack [...]]]></description>
			<content:encoded><![CDATA[<p>On April 9, <a href="http://blogs.msdn.com/markbrown/">Mark Brown</a> and I did a PHP|Architect webcast “PHP Performance On Windows”. The slides from the presentation have been published at the following link:</p>
<p><a href="http://www.slideshare.net/ruslany/php-performance-on-windows">PHP Performance on Windows – slides</a></p>
<p>There were a number of question at the end of the webcast that we did not get to answer due to lack of time. This blog post provides answers to those questions.<span id="more-737"></span></p>
<p><strong>Q: Why is php_mssql.dll removed from php 5.3.2?<br />
</strong>A: The reason why it was removed was because of an incompatible driver. The last SDK supported by Microsoft was not compatible anymore with VC6. Anyway, php_mssql.dll is not recommended to be used with SQL Server because there is a SQL Driver for PHP that is officially supported by Microsoft. You can get more information about the driver at <a href="http://blogs.iis.net/donraman/archive/2010/01/25/working-with-microsoft-sql-server-driver-php-sqlsrv-dll-for-php-on-windows.aspx">Working with Microsoft SQL Server driver (php_sqlsrv.dll) for PHP on Windows</a>.</p>
<p><strong>Q: How can we have .htaccess file features work on IIS? Is there an alternative?<br />
</strong>A: There are several options. If you just want Apache mod_rewrite rules to work on IIS, then you can <a href="http://learn.iis.net/page.aspx/470/import-apache-modrewrite-rules/">import them from a .htaccess file</a>. If you want complete support for all .htaccess features then you can try <a href="http://www.helicontech.com/ape/">Helicon Ape</a> from HeliconTech. Regarding PHP specific features in .htaccess file &#8211; for PHP 5.2 you could use htscanner PECL extension. In PHP 5.3 there is a new feature for <a href="http://ruslany.net/2009/07/per-site-php-configuration-with-php-5-3-and-iis/">per directory PHP configuration and .user.ini files</a>.</p>
<p><strong>Q: Do you have any numbers to compare iis performance with other web servers(apache, nginx, lighttpd)?<br />
</strong>A: No, we do not have any numbers that can be shared. It’s difficult to come up with an objective test that compares web server technologies – there are too many variables and interpretations of the results and even if Microsoft ever produced such numbers they would probably cause a lot of controversy over the objectivity of those tests.</p>
<p><strong>Q: Do you plan to implement wincache library for Zend Framework(Zend_Cache)?<br />
</strong>A: WinCache team does not have plans for that, but there is already a PHP developer who is working on implementing this: <a href="http://github.com/juokaz/wincache">http://github.com/juokaz/wincache</a>.</p>
<p><strong>Q: We have discussed here sugar CRM. Is Microsoft planning to do enhancement in sugar CRM functionality?</strong><br />
A: Microsoft works well with Sugar CRM development team and Sugar CRM add enhancements to their future versions to support new features from Microsoft, such as WinCache user and session cache for example. Microsoft, however does not contribute any code and does not work directly on any enhancements to Sugar CRM.</p>
<p><strong>Q: Is Microsoft planning to develop any dll which can make PHP code to Intermediate language?</strong><br />
A: Assuming that the question is about .NET intermediate language &#8211; no, there are no plans for this.</p>
<p><strong>Q: Would there be any tool in Microsoft development tool kit for PHP?<br />
</strong>A: There are several projects in Microsoft that provide development tools and instructions for enabling interoperability between PHP and other Microsoft technologies. You can find more details about those projects here: <a href="http://www.interoperabilitybridges.com/">http://www.interoperabilitybridges.com/</a>.</p>
<p><strong>Q: Is WinCache shared data accessible for CLI? Script A launches Script B, C and D &#8230; ?<br />
</strong>A: Yes, you can access the shared data from CLI as long as you set wincache.enablecli = 1 in php.ini and all the CLI processes have the same parent process.</p>
<p><strong>Q: Are the statistics results of WinCache the same in 5.2.13 as in 5.3?<br />
</strong>A: If the question is about wincache.php statistics script then yes – the data presented by that script is the same regardless of the PHP version.</p>
<p><strong>Q: Are there any security concerns with having wincache store session data in shared memory?</strong><br />
A: If you use different IIS application pools for different web sites (which is the recommended configuration), then WinCache ensures that those web sites can not access each other’s cache data. All caches, not just the session cache are not shared across IIS application pools.</p>
<p><strong>Q: Is it safe to write to the user cache assuming data disappears from the system after the cache times out? Is the content of the user cache in wincache 1.1 written to disk at all?<br />
</strong>A: Normally the data in the user cache is deleted from the cache after the time to live interval, but the deletion happens on the main request processing thread. This means that if there are no requests to process, the entries in the cache may stay longer than the TTL. WinCache does not write user cache content to disk, but if memory pagefile is enabled on the server, then it may happen that the memory content will be stored by OS in a pagefile. If a maching (not just a process) crashes when user cache content is in the pagefile, then the content may be present on disk.</p>
<p><strong>Q: Is the sqlsrv driver going to be compatible with PDO?<br />
</strong>A: <a href="http://blogs.msdn.com/interoperability/archive/2010/04/19/sql-server-driver-for-php-2-0-ctp-adds-php-s-pdo-style-data-access-for-sql-server.aspx">SQL Driver for PHP 2.0</a> will include PDO support.</p>
<p><strong>Q: Is there any documentation on securely configuring php/FastCGI in a shared application pool environment on IIS6 so that websites?<br />
</strong>A: Check the article about <a href="http://www.php.net/manual/en/install.windows.iis6.php">setting up PHP on IIS6</a> and look for the section called “Impersonation and file system access”. If this is not what you are looking for – let me know.</p>
<p><strong>Q: When are we going to see PHP 5.3 in the WPI?<br />
</strong>A: Web PI team is planning to add support for PHP 5.3 in near future. Most probably it will be possible to select which version of PHP to install from Web PI. This is because there are some PHP applications in Web PI that will never support PHP 5.3.</p>
<p>Thanks to all who has attended the webcast and asked interesting questions!</p>
]]></content:encoded>
			<wfw:commentRss>http://ruslany.net/2010/04/slides-and-questions-from-php-on-windows-webcast/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP on IIS: MonitorChangesTo setting in FastCGI</title>
		<link>http://ruslany.net/2010/03/php-on-iis-monitorchangesto-setting-in-fastcgi/</link>
		<comments>http://ruslany.net/2010/03/php-on-iis-monitorchangesto-setting-in-fastcgi/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 21:36:54 +0000</pubDate>
		<dc:creator>ruslany</dc:creator>
				<category><![CDATA[FastCGI]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://ruslany.net/?p=710</guid>
		<description><![CDATA[PHP on Windows loads its configuration file php.ini during the startup of the process php-cgi.exe. When PHP is run on IIS via FastCGI the php-cgi.exe processes are re-used to handle many requests. If configuration settings in php.ini file get updated, those changes will not be picked up by php-cgi.exe processes until the processes are recycled [...]]]></description>
			<content:encoded><![CDATA[<p>PHP on Windows loads its configuration file <em>php.ini</em> during the startup of the process <em>php-cgi.exe</em>. When PHP is run on IIS via FastCGI the <em>php-cgi.exe</em> processes are re-used to handle many requests. If configuration settings in <em>php.ini</em> file get updated, those changes will not be picked up by <em>php-cgi.exe</em> processes until the processes are recycled or restarted by IIS FastCGI module. This means that any time you change the PHP configuration you have to manually recycle IIS Application Pools that use PHP. This post explains how to configure FastCGI in IIS so that PHP configuration changes take effect right away without the need to manually recycle or restart the IIS Application Pools.<span id="more-710"></span></p>
<p>The latest releases of the <a href="http://ruslany.net/2010/01/fastcgi-extension-1-5-for-iis-5-1-and-iis-6-0-rtw/">FastCGI Extensoin 1.5</a> and <a href="http://ruslany.net/2010/03/important-update-for-iis-7-0-fastcgi-module/">FastCGI update for IIS 7.0</a> have a new configuration setting <strong>monitorChangesTo</strong> that takes an absolute path to a file that FastCGI will monitor for changes. In case of PHP this means that you can set <strong>monitorChangesTo</strong> to a path to <em>php.ini</em> file, so that any time it is modified the FastCGI module will restart the <em>php-cgi.exe</em> to pick up the configuration changes.</p>
<p>Assuming that the PHP configuration file location is <em>C:\PHP\php.ini</em>, the instructions below describe how to use <strong>monitorChangesTo</strong> on different IIS versions:</p>
<ul>
<li><a href="#iis6">IIS 5.1 and IIS 6.0</a></li>
<li><a href="#iis7">IIS 7.0</a></li>
<li><a href="#iis75">IIS 7.5</a></li>
</ul>
<h3 id="iis6">IIS 5.1 and IIS 6.0</h3>
<p>The FasCGI configuration is stored in a file <em>%windir%\system32\inetsrv\fcgiext.ini</em>. You can manually update it to use <strong>monitorChangesTo</strong>:</p>
<pre name="code" class="dos">
[Types]
php=PHP

[PHP]
ExePath=C:\PHP\php-cgi.exe
MonitorChangesTo=C:\PHP\php.ini
</pre>
<p>Alternatively you can use the configuration helper script <em>%windir%\system32\inetsrv\fcgiconfig.js</em> :</p>
<pre name="code" class="dos">
cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:PHP -MonitorChangesTo:C:\PHP\php.ini
</pre>
<h3 id="iis7">IIS 7.0</h3>
<p>You will need to install the <a href="http://ruslany.net/2010/03/important-update-for-iis-7-0-fastcgi-module/">FastCGI Update</a> in order to be able to use <strong>monitorChangesTo</strong> in IIS 7.0 on Windows Vista and Windows Server 2008.</p>
<p>To configure this setting, use the command below:</p>
<pre name="code" class="dos">
%windir%appcmd.exe set config -section:system.webServer/fastCgi ^
/[fullPath=&#039;C:\PHP\php-cgi.exe&#039;,arguments=&#039;&#039;].monitorChangesTo:&quot;C:\PHP\php.ini&quot; ^
/commit:apphost
</pre>
<h3 id="iis75">IIS 7.5</h3>
<p>In Windows 7 and Windows Server 2008 R2 you can use the same <strong>appcmd</strong> command as described above or you can use IIS Manager user interface for FastCGI settings:</p>
<p><a href="http://ruslany.net/wp-content/uploads/2010/03/MonitorChangesTo.png"><img class="alignnone size-medium wp-image-713 screenshot" title="MonitorChangesTo setting in IIS Manager" src="http://ruslany.net/wp-content/uploads/2010/03/MonitorChangesTo-478x500.png" alt="" width="478" height="500" /></a></p>
<h3>Technical Notes</h3>
<p>Below are the technical details that you need to be aware of when using this new feature in FastCGI module:</p>
<ul>
<li>The file that <strong>monitorChangesTo</strong> is pointing to must exist on a file system. If it does not exist then FastCGI module will generate an error;</li>
<li>If the file is located on a network share then FastCGI module cannot use Windows file change notifications so it will switch to polling and will check the file for changes every 5 seconds;</li>
<li>If a relative file path is specified instead of an absolute path then FastCGI will assume that it is relative to the location of <em>php-cgi.exe</em> file.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ruslany.net/2010/03/php-on-iis-monitorchangesto-setting-in-fastcgi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Performance Improvements in WinCache 1.1</title>
		<link>http://ruslany.net/2010/03/more-performance-improvements-in-wincache-1-1-beta/</link>
		<comments>http://ruslany.net/2010/03/more-performance-improvements-in-wincache-1-1-beta/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 09:10:19 +0000</pubDate>
		<dc:creator>ruslany</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[IIS News Item]]></category>
		<category><![CDATA[WinCache]]></category>

		<guid isPermaLink="false">http://ruslany.net/?p=660</guid>
		<description><![CDATA[Since the WinCache Extension for PHP has been released last year it has been widely deployed by customers who run PHP on Windows OS and it has proven to provide a substantial performance boost for PHP applications hosted on Windows-based web servers. Today IIS team has published a beta of WinCache 1.1, which provides more [...]]]></description>
			<content:encoded><![CDATA[<p>Since the <a href="http://www.iis.net/expand/wincacheforphp">WinCache Extension for PHP</a> has been released last year it has been widely deployed by customers who run PHP on Windows OS and it has proven to provide a substantial performance boost for PHP applications hosted on Windows-based web servers.</p>
<p>Today IIS team has published a beta of WinCache 1.1, which provides more options for improving performance of PHP applications on Windows. Specifically, the new version includes :</p>
<ul>
<li><strong><a href="http://docs.php.net/manual/en/ref.wincache.php">User Cache API’s</a></strong>, that can be used by PHP scripts to store PHP objects and variables in shared memory. This way PHP scripts may improve the execution speed by storing processed data in the cache and then using it in subsequent requests instead of re-creating the data on every request. The addition of these API&#8217;s closes the remaining feature gap that WinCache had when compared with other similar caching solutions like APC and XCache.</li>
<li><strong><a href="http://docs.php.net/manual/en/wincache.sessionhandler.php">WinCache Session Handler</a></strong>, that can be used to configure PHP to store the session data in shared memory cache. Using shared memory instead of the default file session storage helps improve performance of PHP applications that store large amount of data in session objects.</li>
</ul>
<p>The beta builds of the extension can be downloaded and installed from the extension home page at: <a href="http://www.iis.net/expand/wincacheforphp">http://www.iis.net/expand/wincacheforphp</a> (look for the “<strong>WinCache 1.1 – Beta</strong>” section there). The source code can be obtained from <a href="http://pecl.php.net/package/WinCache/1.1.0">http://pecl.php.net/package/WinCache/1.1.0</a>. The documentation for the extension can be found on <a href="http://www.php.net/manual/en/book.wincache.php">PHP.NET WinCache documentation</a>.</p>
<p>This is the beta release and the WinCache team is looking for your feedback on new features and functionality. Use the <a href="http://forums.iis.net/1164.aspx">WinCache Community Forum</a> to ask questions about the extension, report bugs and problems and to suggest features and improvements.</p>
]]></content:encoded>
			<wfw:commentRss>http://ruslany.net/2010/03/more-performance-improvements-in-wincache-1-1-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinCache Extension 1.0.1 &#8211; Servicing Release</title>
		<link>http://ruslany.net/2010/01/wincache-extension-1-0-1-servicing-release/</link>
		<comments>http://ruslany.net/2010/01/wincache-extension-1-0-1-servicing-release/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 22:39:41 +0000</pubDate>
		<dc:creator>ruslany</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[IIS News Item]]></category>
		<category><![CDATA[WinCache]]></category>

		<guid isPermaLink="false">http://ruslany.net/?p=643</guid>
		<description><![CDATA[The new release of WinCache Extension for PHP - version 1.0.1 &#8211; is available for download. This is a servicing release that has fixes for bugs reported in v1.0. In particular the following fixes and changes have been made in this release: Fixed require_once on PHP5.3. If the files were absolute and similar files were included [...]]]></description>
			<content:encoded><![CDATA[<p>The new release of WinCache Extension for PHP - version 1.0.1 &#8211; is available for <a href="http://www.iis.net/expand/wincacheforphp">download</a>. This is a servicing release that has fixes for bugs reported in v1.0. In particular the following fixes and changes have been made in this release:</p>
<ul>
<li>
<div>Fixed require_once on PHP5.3. If the files were absolute and similar files were included in different case, require_once was including it twice.</div>
</li>
<li>
<div>Changed relative path cache to act as resolve path cache. Incremented refcounts under aplist lock. Did comparison using InterlockedCompareExchange.</div>
</li>
<li>
<div>Fixed crashes which were happening because aplist refcount and opcode cache refcount can get out of sync due to local cache.</div>
</li>
<li>
<div>Exposed is_local_cache property from ocache_fileinfo and fcache_fileinfo. Stats page will use this to indicate when local opcode data is shown.</div>
</li>
<li>
<div>Updated the wincache.php to pass chart data on query string to ensure that the charts show the same data that is displayed in tables</div>
</li>
<li>
<div>Updated the wincache.php to show whether information about a global or local cache instance is being displayed</div>
</li>
<li>
<div>Changed variable names and comments to indicate rplist is resolve path cache and not just relative path cache</div>
</li>
<li>
<div>Changed wincache.php to use resolve_path instead of relative_path</div>
</li>
</ul>
<p>The new release is available for download from the extension&#8217;s home page at: <a href="http://www.iis.net/expand/wincacheforphp">http://www.iis.net/expand/wincacheforphp</a>. The source code for the extension is available on PHP PECL page here: <a href="http://pecl.php.net/package/WinCache/1.0.1">http://pecl.php.net/package/WinCache/1.0.1</a>. The documenation for the extension can be found at <a href="http://www.php.net/manual/en/book.wincache.php">http://www.php.net/manual/en/book.wincache.php</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ruslany.net/2010/01/wincache-extension-1-0-1-servicing-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multiple PHP versions on the same IIS server</title>
		<link>http://ruslany.net/2009/12/multiple-php-versions-on-the-same-iis-server/</link>
		<comments>http://ruslany.net/2009/12/multiple-php-versions-on-the-same-iis-server/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 20:45:38 +0000</pubDate>
		<dc:creator>ruslany</dc:creator>
				<category><![CDATA[FastCGI]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://ruslany.net/?p=613</guid>
		<description><![CDATA[This post describes how to configure IIS to support multiple versions of PHP on the same server. This kind of setup is useful in development environments where it is necessary to test an application with different PHP versions. Also, it is often used in production environments, where many PHP applications are hosted on the same server [...]]]></description>
			<content:encoded><![CDATA[<p>This post describes how to configure IIS to support multiple versions of PHP on the same server. This kind of setup is useful in development environments where it is necessary to test an application with different PHP versions. Also, it is often used in production environments, where many PHP applications are hosted on the same server and some of them have dependency on a particular PHP version.</p>
<p>In order to setup multiple versions of PHP side by side on the same IIS server it is necessary to install PHP manually by following the steps described in php.net documentation for <a title="Manual installation of PHP on IIS 5.1 and IIS 6.0" href="http://www.php.net/manual/en/install.windows.iis6.php" target="_blank">IIS 5.1 and IIS 6.0</a> and for <a title="Manual installation of PHP on IIS 7.0 and beyond" href="http://www.php.net/manual/en/install.windows.iis7.php" target="_blank">IIS 7.0 and later</a>. Do not use PHP Windows installer because it does not support side by side installations.<span id="more-613"></span></p>
<p>After a particular version of PHP has been installed in accordance to the instructions, download another version of PHP, extract it into a separate directory and configure it in accordance to <a title="PHP Manual Installation Steps." href="http://www.php.net/manual/en/install.windows.manual.php" target="_blank">Manual Installation Steps</a>. After that proceed to configuring an IIS server as per instructions below:</p>
<ul>
<li><a href="#iis51">IIS 5.1</a></li>
<li><a href="#iis60">IIS 6.0</a></li>
<li><a href="#iis70">IIS 7.0 and later</a></li>
</ul>
<p><strong>Note</strong>: in all examples below two PHP versions are installed on the same server. PHP 5.2.11 files are located in C:\PHP5211\ directory and PHP 5.3.1 files are located in C:\PHP531\ directory.</p>
<h3 id="iis51">IIS 5.1</h3>
<p>The FastCGI Extension can be configured on a server and a site level. Since IIS 5.1 can have only one web site, it is not possible to configure it to have two versions of PHP running at the same time. But it is possible to have a configuration that allows to easily switch from one version to another.</p>
<p>Open the IIS FastCGI extension configuration file at %windir%\system32\inetsrv\fcgiext.ini. At the end of the file there will be a section that defines FastCGI applications. It may look similar to this:</p>
<pre name="code" class="dos">
[Types]
php=php5211

[php5211]
ExePath=C:\php5211\php-cgi.exe
</pre>
<p>This configures IIS to use PHP 5.2.11 whenever a request for a *.php file is made. To switch to PHP 5.3.1, just add another section declaration and then modify the [Types] section as below:</p>
<pre name="code" class="dos">
[Types]
;php=php5211
php=php531

[php5211]
ExePath=C:\php5211\php-cgi.exe

[php531]
ExePath=C:\php531\php-cgi.exe
</pre>
<p>To switch back to PHP 5.2.11 update the <em>[Types]</em> section by commenting out <em>php=php531</em> and un-commenting <em>php=php5211</em>. There is no need to restart IIS after the updates to fcgiexe.ini have been made. FastCGI Extension will pick up the changes as soon as file has been saved.</p>
<h3 id="iis60">IIS 6.0</h3>
<p>FastCGI on IIS 6.0 can be configured on a server level, which would cause all the IIS web sites to use the same PHP version. Configuring FastCGI on a server level and switching between PHP versions is exactly the same procedure as for <a href="#iis51">IIS 5.1</a>.</p>
<p>Additionally FastCGI can be configured on a site level, which would allow using of different PHP versions for different web sites. To assign a particular PHP version to a site, use the following commands. Make sure to replace the <em>&lt;site_id&gt;</em> with real site identifiers.</p>
<pre name="code" class="dos">
cscript %windir%\system32\inetsrv\fcgiconfig.js -add -section:&quot;php5211&quot; ^
-extension:php -path:&quot;C:\php5211\php-cgi.exe&quot; -site:&lt;site_id&gt;

cscript %windir%\system32\inetsrv\fcgiconfig.js -add -section:&quot;php531&quot; ^
-extension:php -path:&quot;C:\php531\php-cgi.exe&quot; -site:&lt;site_id&gt;
</pre>
<p>After executing these commands open the fcgiext.ini file located in %WINDIR%\system32\inetsrv. It should contain the following sections:</p>
<pre name="code" class="dos">
[Types]
php:169297538=php5211 ; The actual site id will be different for your site
php:273357939=php531 ; The actual site id will be different for your site

[php5211]
ExePath=C:\php5211\php-cgi.exe

[php531]
ExePath=C:\php531\php-cgi.exe
</pre>
<h2 id="iis70">IIS 7.0 and later</h2>
<p>FastCGI module in IIS 7.0 can be configured on any level: server, site, application and folder. This means that it is even possible to have two applications using different PHP versions within the same web site.</p>
<p>To configure FastCGI on a server level, use these commands:</p>
<pre name="code" class="dos">
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI ^
/+[fullPath=&#039;c:\php531\php-cgi.exe&#039;]

%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers ^
/+[name=&#039;php531&#039;, path=&#039;*.php&#039;,verb=&#039;*&#039;,modules=&#039;FastCgiModule&#039;,^
scriptProcessor=&#039;c:\php531\php-cgi.exe&#039;,resourceType=&#039;Either&#039;]
</pre>
<p>Repeat these commands for all the other versions of PHP. By default IIS will use the version that was added last. Now, if you need to use a particular version of PHP for the entire server or for a particular web site, you can just re-order the FastCGI handler mappings for PHP.</p>
<p>Open IIS Manager and use a tree view on left hand side to select a server, site or an application. After that click on “Handler Mappings”:</p>
<p> <a href="http://ruslany.net/wp-content/uploads/2009/12/HandlerMapping.png"><img class="alignnone size-medium wp-image-626 screenshot" title="IIS Handler Mapping" src="http://ruslany.net/wp-content/uploads/2009/12/HandlerMapping-500x348.png" alt="IIS Handler Mapping" width="500" height="348" /></a></p>
<p>Then click on “View Ordered List…” action:</p>
<p> <a href="http://ruslany.net/wp-content/uploads/2009/12/ViewOrderedList.png"><img class="alignnone size-medium wp-image-627 screenshot" title="View Ordered List" src="http://ruslany.net/wp-content/uploads/2009/12/ViewOrderedList-500x348.png" alt="View Ordered List" width="500" height="348" /></a></p>
<p>Select the handler mapping for the PHP version that you want to use for the server or a site and use “Move Up” action to move it to the top of the list. This will enable that particular PHP version for the currently selected IIS configuration scope.</p>
<p> <a href="http://ruslany.net/wp-content/uploads/2009/12/ReorderHandlerMapping.png"><img class="alignnone size-medium wp-image-628 screenshot" title="Reorder Handler Mapping" src="http://ruslany.net/wp-content/uploads/2009/12/ReorderHandlerMapping-500x348.png" alt="Reorder Handler Mapping" width="500" height="348" /></a></p>
<p>Note that if you re-order handler mappings on a site or an application level, that site or application will stop inheriting the handler mappings from the upper configuration levels, so the changes to the handler mappings on the server level will not propagate to the site level anymore. To configure a site or an application back to using the inherited handler mappings, use the “Revert To Parent…” action:</p>
<p><a href="http://ruslany.net/wp-content/uploads/2009/12/RevertToParent1.png"><img class="alignnone size-medium wp-image-631 screenshot" title="Revert To Parent" src="http://ruslany.net/wp-content/uploads/2009/12/RevertToParent1-500x348.png" alt="Revert To Parent" width="500" height="348" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ruslany.net/2009/12/multiple-php-versions-on-the-same-iis-server/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>WinCache Extension 1.0 for PHP &#8211; Release to Web</title>
		<link>http://ruslany.net/2009/11/wincache-extension-1-0-for-php-release-to-web/</link>
		<comments>http://ruslany.net/2009/11/wincache-extension-1-0-for-php-release-to-web/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 19:01:05 +0000</pubDate>
		<dc:creator>ruslany</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WinCache]]></category>

		<guid isPermaLink="false">http://ruslany.net/?p=605</guid>
		<description><![CDATA[The Windows Cache Extension 1.0 for PHP &#8211; RTW is available for download. This is a final, production-ready release that is provided under an open source BSD license with the source code hosted and maintained on http://pecl.php.net/packages/wincache/. Install the Windows Cache Extension 1.0 for PHP &#8211; RTW To install the Windows Cache Extension for PHP [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.iis.net/extensions/wincacheforphp">Windows Cache Extension 1.0 for PHP</a> &#8211; RTW is available for download. This is a final, production-ready release that is provided under an open source <a href="http://www.opensource.org/licenses/bsd-license.php">BSD license</a> with the source code hosted and maintained on <a href="http://pecl.php.net/packages/wincache/">http://pecl.php.net/packages/wincache/</a>.</p>
<h3>Install the Windows Cache Extension 1.0 for PHP &#8211; RTW</h3>
<p>To install the Windows Cache Extension for PHP 5.2 and PHP 5.3, use the download links at the extension&#8217;s home page at <a href="http://www.iis.net/expand/WinCacheForPhp">http://www.iis.net/expand/WinCacheForPhp</a>.</p>
<p>The installation with Web Platform Installer is the easiest as it will automatically place the extension binary into proper location and will update the PHP configuration to enable the extension. Also, if you have the beta or RC release of the extension installed, then Web PI will upgrade it. If you install any PHP application by using Web PI then the Windows Cache Extension for PHP will be offered as an optional component.<span id="more-605"></span></p>
<p>If you install the extension manually, then follow the instructions at <a href="http://us2.php.net/manual/en/wincache.setup.php">Installing/Configuring WinCache for PHP</a>.</p>
<p><strong>Note:</strong></p>
<ul>
<li>The extension can only be used with non-thread-safe builds of PHP</li>
<li>The extension can only be used when IIS is configured to run PHP via FastCGI</li>
<li>The Windows Cache Extension 1.0 for PHP 5.3 can only be used with the x86 VC9 build of PHP 5.3.</li>
</ul>
<h3>Getting support</h3>
<p>The WinCache extension is not supported by Microsoft Product Support Services. Instead it is supported as any other community PHP extension via the forums, mailing lists and the PECL bugs database. Use the following resources:</p>
<ul>
<li>To get help with installation, configuration and usage &#8211; <a href="http://www.php.net/wincache/">WinCache documentation on php.net</a>;</li>
<li>To ask questions about the extension &#8211; <a href="http://forums.iis.net/1164.aspx">WinCache forum on iis.net</a>;</li>
<li>To report a bug in the extension &#8211; <a href="http://pecl.php.net/bugs/">PECL bug tracking system</a>.</li>
</ul>
<h3>Getting the extension source code</h3>
<p>The source code for the extension is available at <a href="http://pecl.php.net/package/wincache/">http://pecl.php.net/package/wincache/</a>. For the instructions on how to build the extension yourself refer to <a href="http://us2.php.net/manual/en/wincache.win32build.php">Building WinCache Extension</a>.</p>
<h3>Bug fixes and changes since the RC release:</h3>
<p>Here is the list of changes and bug fixes that have been made since the RC release of WinCache. For the complete list of WinCache features and configuration options refer to the <a href="http://www.php.net/wincache">WinCache documentation</a>:</p>
<ul>
<li>Added new INI directive <strong><a href="http://us2.php.net/manual/en/wincache.configuration.php#ini.wincache.fcenabledfilter">wincache.fcenabledfilter</a></strong> that can be used to turn on/off file cache for individual IIS sites.</li>
<li>Fixed a bug that caused include_once() function to load file twice because relative file path was case insensitive.</li>
<li>Changed cache size default values. Default size of file cache is 32 MB and opcode cache is 96 MB.</li>
<li>Changed minimum and maximum values of file cache size and opcode cache size.</li>
<li>Added an auto adjustment of the opcode cache size to ensure it is at least 3 times bigger than file cache size.</li>
<li>Fixed several bugs in cache scavenger logic that caused access violations and crashes in php-cgi.exe processes.</li>
<li>Fixed a bug in exception handling that caused php-cgi.exe process to crash.</li>
<li>Modified the charts in wincache.php to display the numbers rounded to 2 digits after decimal point.</li>
<li>Fixed the wincache.php authenticaiton logic to not conflict with IIS built-in authentication.</li>
<li>Added memory usage pie charts to wincache.php file.</li>
<li>Updated the wincache.php to show a warning if opcode cache size is too small and it has been automatically increased.</li>
<li>wincache.php will now display entries in opcode cache, file cache and relative path cache in lexicographical sorted way.</li>
</ul>
<h3>Thanks!</h3>
<p>WinCache Team thanks all of you who have installed and tried early releases of WinCache extension and provided us with feedback, bug reports and feature suggestions through the <a href="http://forums.iis.net/1164.aspx">Windows Cache Extension for PHP Forum</a>. Your involvement throughout the release process has been very valuable to us and really helped us make this a great release!</p>
]]></content:encoded>
			<wfw:commentRss>http://ruslany.net/2009/11/wincache-extension-1-0-for-php-release-to-web/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>IIS Documentation Updates on PHP.NET</title>
		<link>http://ruslany.net/2009/11/iis-documentation-updates-on-php-net/</link>
		<comments>http://ruslany.net/2009/11/iis-documentation-updates-on-php-net/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 19:18:44 +0000</pubDate>
		<dc:creator>ruslany</dc:creator>
				<category><![CDATA[FastCGI]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://ruslany.net/?p=599</guid>
		<description><![CDATA[PHP.NET web site is known for its well written and very detailed documentation. The excellent content together with tons of user contributed notes has made the PHP.NET the primary place for getting the help on all PHP related questions. However there was one thing in the PHP docs that was still not up-to-date. The Windows [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.php.net/manual/en/" target="_blank">PHP.NET</a> web site is known for its well written and very detailed documentation. The excellent content together with tons of user contributed notes has made the PHP.NET the primary place for getting the help on all PHP related questions.</p>
<p>However there was one thing in the PHP docs that was still not up-to-date. The Windows and IIS-specific installation and configuration sections did not cover the latest changes in Windows, such as IIS 7 and FastCGI. Now I am glad to let everyone know that this part of the PHP documentation is also being updated!</p>
<p>Check out the first batch of updates:</p>
<ul>
<li><a href="http://www.php.net/manual/en/install.windows.manual.php" target="_blank">Manual Installation Steps</a></li>
<li><a href="http://www.php.net/manual/en/install.windows.iis6.php" target="_blank">Microsoft IIS 5.1 and IIS 6.0</a></li>
<li><a href="http://www.php.net/manual/en/install.windows.iis7.php" target="_blank">Microsoft IIS 7.0 and later</a></li>
</ul>
<p>The content is still being updated and there are plans to add more instructions, such as how to install <a href="http://blogs.iis.net/donraman/archive/2009/10/07/installing-php-on-windows.aspx" target="_blank">PHP on Windows with PHP Installer</a>, how to <a href="http://blogs.iis.net/donraman/archive/2009/10/08/upgrading-to-php-5-3-an-easy-way.aspx" target="_blank">easily upgrade to PHP 5.3</a>, how to run multiple <a href="http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70/#PHP_Versioning" target="_blank">PHP versions side by side</a>, etc. If you have any suggestions on the updated content or if you have any additional instructions that you think will be useful, please submit user notes on <a href="http://docs.php.net/manual/en/install.windows.php">PHP.NET</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ruslany.net/2009/11/iis-documentation-updates-on-php-net/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
