Announcing sunset for old PHP versions

They had a great run, but the day had to come where it would all end. Launched into this world four years apart, it’s now time for both of them to make way for the younger ones.

PHP 5.3.0 was released in 2009, PHP 5.5.0 in 2013. They’ve both outlived their official support by the PHP project for quite a while now. We were only able to operate PHP 5.3 for six years because it got a life extension in the form of the 5-year Long Term Support for Ubuntu 12.04. Now that this support is expiring, too, we’re going to replace all older freistilbox setups with our modern multi-version setup offering customers to choose between PHP 5.6 and PHP 7.0 on a per-application basis (PHP 7.1 is in the pipeline).

We’re going to upgrade all freistilbox applications still running on PHP 5.3 or PHP 5.5 to our new multi-version setup on Wednesday, 29th March 2017.

In order to make this change as smooth as possible, we’ve prepared upgrade paths that PHP 5.3 and PHP 5.5 users can take advantage of during the transition period we’re in now.

Switching from PHP 5.5

If your freistilbox cluster originally came with PHP 5.5, we’ve already upgraded it to our modern multi-version setup, adding the options of PHP 5.6 and PHP 7.0. You can now switch PHP versions for each application instance individually in the freistilbox Dashboard.

We recommend using our staging workflow to start upgrading from PHP 5.5 right away. If you haven’t done so already, just deploy a test instance for every production application you’d like to check, and use that test instance to fix all the issues the version switch might cause. Then, after you’ve made sure your application will behave, throw the switch for the production instance.

Switching from PHP 5.3

If your applications still run on PHP 5.3, you must have been a freistilbox customer for many years and we’re immensely grateful for your loyalty!

Since our old PHP 5.3 setup unfortunately does not allow us to run other versions in parallel, things get just a bit more complicated here.

The recommended staging workflow approach is the same as described above for PHP 5.5. The difference is that the PHP versions you assign to your testing instances on the freistilbox Dashboard won’t have any effect on your production servers. That’s why we’re temporarily adding a separate test box that runs your applications already on our multi-version setup. During the transition period, we’ll provide you with one test box per cluster free of charge. Should you need your transition period extended, please get in touch with our web ops team.

This test box isn’t part of your normal hosting setup and doesn’t get requests from website visitors. To see the effects of your version changes, you’ll have to talk directly to this specific test box. We recommend using one of the following two approaches.

Temporary modification of your local hosts file

Open your /etc/hosts file in an editor and enter the IP address of the test box with the domain names you’ve assigned to your test instances:

4.3.2.1 test.example1.com test.example2.com

Alternatively, you can enter a single row per domain:

4.3.2.1 test.example1.com
4.3.2.1 test.example2.com

When you now visit test.example1.com in your browser, your web requests will always go to the test box instead of your production cluster. (So don’t forget to remove these entries after testing!)

Using a browser plugin

With the help of a browser plugin that allows you to send HTTP requests with specific headers, you can talk directly to the test box, e.g. http://4.3.2.1/. You then use a plugin such as ModHeader for Chrome or Modify Headers for Firefox to make the Hosts header indicate the actual application you’d like to access. For example, Host: test.example1.com.

After the transition period

After we’ve upgraded all freistilbox clusters to our modern multi-version setup, customers will be able to switch between PHP versions anytime they like, for example to take advantage of the improvements coming up with PHP 7.1.