PHP Manager is a tool for IIS 7 that greatly simplifies installation, configuration, management and troubleshooting of PHP in IIS. A beta release of the tool has been published a month ago and since then it has been downloaded nearly five thousand times. Today I am releasing the final stable build of PHP Manager 1.0 for IIS 7, which includes new features and fixes for the bugs reported in the beta release.
Both x86 and x64 builds of PHP Manager 1.0 for IIS 7 can be downloaded from the project’s page at codeplex.com:
Note: if you already have the beta release installed then it will be upgraded when you install the final build of PHP Manager 1.0 for IIS 7.
PHP Manager 1.0 can be used to:
- Register PHP with IIS;
- Validate and properly configure existing PHP installations;
- Run multiple PHP versions side by side on the same server and even within the same web site;
- Check PHP runtime configuration and environment (output of phpinfo() function);
- Configure various PHP settings;
- Enable or disable PHP extensions;
- Remotely manage PHP configuration in php.ini file.
The most important feature introduced in this release is the validation and optimization of existing PHP configurations on IIS. Continue Reading »
ruslany on September 29th 2010 in FastCGI, PHP
Today I am releasing PHP Manager for IIS 7 – beta, which is an IIS extension for setting up and managing multiple PHP installations on IIS 7 servers. It can be used to:
- Register PHP with IIS;
- Run multiple PHP versions side by side;
- Check PHP runtime configuration and environment (output of phpinfo() function)
- Configure various PHP settings
- Enable or disable PHP extensions
- Remotely manage PHP configuration in php.ini fille
The PHP Manager installation packages can be downloaded from these locations:
The project’s home page and documentation are located at http://phpmanager.codeplex.com/. This blog post describes how the PHP Manager for IIS can be used. Continue Reading »
ruslany on August 30th 2010 in FastCGI, PHP
On April 9, Mark Brown and I did a PHP|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 of time. This blog post provides answers to those questions. Continue Reading »
ruslany on April 13th 2010 in FastCGI, PHP, WinCache
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 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. Continue Reading »
ruslany on March 30th 2010 in FastCGI, PHP
FastCGI module in IIS 7.0 has been lacking some of the features and bug fixes that are available in IIS 7.5 FastCGI module and in FastCGI Extension 1.5 on IIS 5.1 and IIS 6.0. The reason why this happened are explained in the post about FastCGI Module: Differences across IIS versions. This week IIS team has released an update for FastCGI module in IIS 7.0 that closes this remaining feature gap and ensures that FastCGI functionality is consistent across all versions of IIS.
The update can be downloaded from the following locations:
Continue Reading »
ruslany on March 10th 2010 in FastCGI
The information in this post is not applicable anymore because the update for FastCGI module in IIS 7.0 has been made available, so now the functionality and features of FastCGI are consistent across all IIS versions. Read the release announcement to get more details about the update.
Recent release of FastCGI Extension 1.5 for IIS 6.0 and IIS 5.1 has several new features and improvements that make it easier to run PHP on Windows and IIS. However, all the new features are only available when using Windows XP or Windows Server 2003. FastCGI module on IIS 7.5 in Windows 7 and Windows Server 2008 R2 supports most of these features. FastCGI module on IIS 7 in Windows Vista and Windows Server 2008 does not support those new features yet. The reasons why this happens and the plan for updating FastCGI functionality across all platforms are explained in this post. Continue Reading »
ruslany on February 5th 2010 in FastCGI
Today IIS team has released to web the FastCGI Extension 1.5 for IIS 6.0 and IIS 5.1. This version is based on FastCGI Extension 1.0 and it adds several important improvements and features. This is a production ready release that is officially supported by Microsoft.
Install FastCGI Extension 1.5 for IIS 6.0 and IIS 5.1
To install the FastCGI Extension 1.5 use the download links at the extension’s home page at http://www.iis.net/expand/fastcgi.
Note: If you already have FastCGI v1.0, v1.5 Beta or v1.5 RC installed, then the installation package will upgrade it to version 1.5 – RTW. All the related IIS configuration and settings in fcgiext.ini file will be preserved during upgrade. Note that during upgrade from v1.0 the comments in fcgiext.ini will not be updated and will not mention new configuration settings. However the new settings can still be used after upgrade.
Continue Reading »
ruslany on January 18th 2010 in FastCGI
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.
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 IIS 5.1 and IIS 6.0 and for IIS 7.0 and later. Do not use PHP Windows installer because it does not support side by side installations. Continue Reading »
ruslany on December 16th 2009 in FastCGI, PHP
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 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!
Check out the first batch of updates:
The content is still being updated and there are plans to add more instructions, such as how to install PHP on Windows with PHP Installer, how to easily upgrade to PHP 5.3, how to run multiple PHP versions side by side, 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 PHP.NET.
ruslany on November 10th 2009 in FastCGI, PHP
The FastCGI module in IIS has a configuration setting maxInstances, which controls the number of concurrently running php-cgi.exe processes that IIS creates to process PHP requests. To achieve optimal performance, it is recommended to fine tune this setting for your specific environment starting with 8-10 instances per CPU core (e.g. maxInstances=32 for quad-core CPU).
The Windows Cache Extension for PHP can be used to improve performance of PHP applications running on Windows operating systems. The extension caches the compiled PHP opcode in the shared memory, which helps to avoid re-doing of such CPU intensive operations as parsing and compiling of the PHP source code. This means that when Windows Cache Extension for PHP is enabled, less CPU cycles are required for a web server to process PHP requests. Because of that, the previously configured value for the FastCGI maxInstances setting may not be adequate to load the server’s CPU completely and it may be necessary to increase the value further. Continue Reading »
ruslany on September 2nd 2009 in FastCGI, PHP