Yesterday, Ruslan Yakushev announced the availability of the final, stable release of the PHP Manager for IIS (v1.0). (It is available for download here.) There have been some significant changes in the final release since I wrote about the first beta release a month ago. Not only have several bugs have been fixed, but new functionality has been added. Now the PHP Manager can help you validate and optimize your PHP installations on IIS. This is in addition to the functionality that was available in the beta releases:
- Register PHP with IIS
- 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
You can download x86 and x64 versions of the PHP Manager here: http://phpmanager.codeplex.com/releases/view/53121. If you have a beta version installed already, it will be upgraded when you install this release. Detailed instructions for all the PHP Manager features are available here: http://phpmanager.codeplex.com/documentation.
In the beta releases of PHP Manager, what I liked most was the ease with which I could run multiple versions of PHP on the same server. This makes testing an application against different PHP versions easy (I wrote about how to do this here). What I discovered by playing with the PHP Manger more was that I could run different PHP versions on the same website. By starting IIS Manager and navigating to a directory under a website (the Default site, in my case), I could start PHP Manager and register a PHP version for that directory:
Now I just click Register new PHP version and navigate to the php-cgi.exe of my choice (clearly, based on the directory name, I’m going to navigate to a 5.2 version of PHP):
To verify that the right version of PHP is handling requests for this directory, click Check phpinfo():
While that is a cool feature of IIS that is easily exposed by the PHP Manager, I’m not sure yet how I’ll use it. But, I AM sure about this next feature, which is my favorite one in the PHP Manager: It helps me optimize my PHP installations. I still don’t get everything right when I install PHP, so the fact that the PHP Manager will call out which settings aren’t optimal and give me explanations for each setting is great. When I started PHP Manager for a site running PHP 5.3.3, here’s what I saw:
When I clicked on View Recommendations, I got a list of sub-optimal settings AND an explanation for setting:
By checking the settings I wanted to optimize, the PHP Manager took care of things for me. (In case you are wondering why I didn’t change the extension_dir setting, it’s because I’m using this site to develop applications that I deploy to Windows Azure. When packaging a PHP application for deployment to Windows Azure, the path needs to be relative.)
That it. Check out the PHP Manager for IIS 7 and let us know what you think.