Assuring compatibility with new PHP versions is not always easy: Features are added and changed in minor versions, bugs you didn't even know they exist and having been open for years "suddenly" get fixed. Sometimes BC breaks are inevitable. On the other hand there are no bug fix-only or security fix-only releases, so you are more or less forced to regularly update your PHP.
Assuring compatibility however is easy with a little help of CruiseControl as long as you have automated tests for your software: PHP on Cruise
Basically, PHP on Cruise fetches the latest version of the CVS (stable) tree, compiles it with your standard configure options and runs your tests. If these tests pass, you should be fine with the next version. If these tests fail, either PHP has been broken, or your application uses deprecated stuff or uses bugs as features. If the latter is the case, you have enough time to fix your application (you should by the way think about setting up continuous builds for your own project). If not, you should report the issue at bugs.php.net to make PHP better.
Making PHP better is another issue to publish this little howto: Although PHP QA has evolved in the last two years by heavily improving the test coverage with the help of gcov there are still several things to improve: Broaden the tests and broaden the test base. PHP on Cruise helps with that by allowing everyone to run his own tests on his own platform in his own configuration without investing too much time.
Posted Apr 15, 2007
Tagged as: CruiseControl, PHP, Software Development, Software Quality