I've been thinking a lot about the state of hosting in PHP lately, mostly as a result of working with a few different clients on their setups (including one that bought brand new hosting a month ago and got a PHP 5.3.3 platform), and also being at DrupalCon and meeting a community who is about to make a big change to their minimum requirements. With that in mind, here are my thoughts and tips on choosing hosting.
The biggest factor that I look for in a host is which versions of PHP are available. Today, October 2014, the landscape of PHP versions look like this:
- PHP 6 or 7: this host is lying to you, these do not exist
- PHP 5.6: current stable
- PHP 5.5: also stable, supported, and totally acceptable
- PHP 5.4: security fixes only. Don't ship a new project onto this platform
- PHP 5.3 or earlier: unforgivable
No host wants to be running bleeding edge code, it takes time for it to be tested and made available in a way that they want to introduce and support and some of the distros are slow about that. However I don't understand why any organisation would choose to put production code onto an old platform. Mostly, I think it's lack of understanding/information - so the hosts offering older versions are not going to make great PHP platform hosts, because they're not really keeping up with what's happening there.
My list of questions to ask a potential hosting partner (this is straight from my slide deck at DrupalCon last week):
- What versions of PHP are available?
- Are backups included?
- Which extensions are available, and can I add others?
- Can I get support with my PHP setup?
The correct answer to the first question is PHP 5.5 or later. The correct answers to the other questions will vary according to your needs, but the host should give the impression that they understand all these questions and why someone might ask them. If not - red flag! Choose someone else, because there are good hosts out there.
Benefits of the Newer Platform
Here's my dream: everyone gets to use a decent version of PHP. As a community, we are the consumers and we need to stand up for what we believe in. I have a very hobbyist client that I mentioned in the introduction who was sold a PHP 5.3.3 platform when he bought a new VPS last month. That's lower even than the requirements for password_compat, and frankly I'm really disappointed. This person has worked hard to build a site for his new company, by himself. But he gets an insecure, slow, unsupported platform because we allow those providers to operate.
Adoption rates in PHP currently look something like this:
Think about that for a moment. The current, supported versions are in green and dark grey (you can't see the dark grey, it's too small). The yellow one is PHP 5.4, less than a year of security support remaining.
The vast majority of PHP code does not need the new shiny to run, and to run well. However a newer platform gives significantly better performance, and it's VERY likely that your code will work there without problems - in fact if you enquire about my consultancy services for PHP migration (which are available for a very reasonable price, of course!) I will usually suggest you give it a whirl by yourself and only pay me if you actually have issues :)
I wrote an earlier post showing the speed improvements in PHP for PHP 5.6 but here are basically the same numbers with 5.2 also included (since so many people still seem to be migrating from there!). The graph shows how long it takes PHP to do a specific set of tasks, on each version of the language.
If any paid-for software platform offered you this as a free upgrade with so few backwards compatibility breaks, you'd bite their hands off. Let's vote with our feet, people.
Unofficial List Of Hosts
This stuff changes all the time, but when I tweeted for recommendations of good hosts offering PHP 5.5 as an option on new platforms, this is what my followers sent back to me:
- Servergrove are totally PHP-friendly hosts, run by a fantastic PHP developer (hi Pablo!), and were widely recommended.
- Linode hosts this wordpress blog (and that's an affiliate link, so you know), and have always been super friendly and helpful.
- Digital Ocean
- AWS Cloud
So, if you're looking for hosting today, then perhaps one of the above will be the place that you find your new digital home?