I am a consultant and a contractor. As such, taking time to deal with computer issues can be a serious monetary problem. Thus, on any given platform, I seek the best tools to get my job done with as few problems as possible. This requires paying attention to passing mentions of things that could be of great aid to me when facing potentially expensive problems. I have posted about the great inroads that Microsoft have made with PHP on Windows, and I have made mention of PHP Manager for IIS. One must also not forget that Zend has not neglected the platform either. Zend Server Community Edition is a great drop in package, especially if you are a WAMP stack fanboy. However I must say that as of 2010 Zend Server CE is a bit of a dogleg-downer when used on IIS. I am sure this will improve over time.
When I first installed PHP Manager I intended on running it beside Zend Server CE. I quickly found that PHP Manager took care of most of the functionality I needed in my initial development environment (I like to call it ‘Alpha-dev’). In Alpha-dev I am concerned with UnitTesting and growth. I rarely debug or do support from my local computer’s web server. The bluk of what I want localy is the ability to configure and run with the least overhead. My Alpha-dev is on a laptop that I format often for security and sanity. Thus I can’t spend a bunch of time configuring some sudo XML file (yes, I usually just backup the config). Also when I want to upgrade PHP I don’t want to have to uninstall and reinstall anything. This is what I have found to be the best path with Zend Server CE, to uninstall and reinstall the latest version. In fact it would be nice to just be able to add an arbitrary version of PHP to a particular application/site and proceed to use it. Further it would be great to be able to run PHP4 for testing code that should be compatible, and the latest version of PHP since I have a framework that lives there.
While PHP Manager isn’t quite as slick as simply backing up my config files on a Linux box, it is stupefyingly easy to setup. All that is needed is to download the Win binary PHP version you want in a zip file, extract it, and select the php-cgi.exe from the PHP Manger in IIS. You can set a common version at a machine level. Then for each odd application, you can select the desired PHP version on a site level, or even an application pool level.
Also included with PHP Manager is a configuration tool. This tool is quaintly Microsoft-like and will make even your most skeptical MS admin comfortable. A couple of times I got a notice on the configuration tool that set me back at first. It said that I didn’t have optimal settings, and to ‘click here’ to fix this. The control freak in me really hates it when my computer tries to do tasks that I don’t want it to. This warning however was to simply tell me that the tool wanted to monitor the php.ini for changes. If this is the extent of the ‘fix’ we are golden. Time will tell. As I have been using PHP Manager for a while, I haven’t seen anything that was negative, just green fields waiting to be developed. If MS is going there that is. I doubt that they will be developing anything to compete feature-for-feature with Zend Server CE, but they don’t really need to. Leave it to the community and they will build applications packaged in WPI to take care of any additional functionality you may need.
This does not mean I think that anyone is looking to take the lead from Zend Server as my enterprise PHP platform of choice. There is a feature set that is solid for creating, maintaining and scaling applications, which is decidedly separate from PHP Manager’s targeted feature set (as far as I know). PHP Manager is simply a nice tool for configuring IIS servers and sites with multiple versions of PHP. It will be even better when it learns how to play nicely with Zend Server, and thus may find itself making its way into production websites of mine.
Until then it will be making me happy on my laptop development environment.