On thing that I think I subconsciously ignored when productizing my frameworks (as Saunter) was the insanity that is supported versions of things. Specifically the underlying language that things run under.
Now in theory any 5.3.x version of PHP will run things just fine. But which point release to use? Part of me thinks it should be the latest one since the releases on this tree are largely based around a security fix that just happen to include some other fixes thrown in for fun. Alas though, I don’t have that much clout to foist that on people (yet!) so I need to be a bit more generous. So let’s look at some common ways that people get their PHP installation.
- Mac Ports
- Ubuntu 12.04 LTS
- RHEL 6.2/CentOS
- 5.3.3 + security fixes backported
What. A. Mess.
A common thing that I see is people confusing the part of their automation setup that runs the application (Server), where the browser is being launched (Client) and where their framework is (Runner). From a SaunterPHP perspective, I need only care about the PHP version on the Runner. The Server can be whatever version, in fact, it can be any language. And the Client just needs Java to run the Selenium Server.
Which means, I could force people to use the latest version. But that would be putting an additional roadblock in place to get started and Saunter is designed to remove them.
The winner therefore is … 5.3.3 to have the maximum coverage across the most environments that I have been told by customers they care about. I have just pushed out the following packages onto the Element 34 PEAR server to reflect this change. Some have had the minimum version increased, some have had it decreased, but at least now they are in sync.