Over the weekend I decided to upgrade from MySQL 5.6 to 5.7. I did some test upgrades a while ago and last week at work we did some practice upgrades on a clone of one of our production servers. I was pretty confident the upgrade would be fine and it was. I wasn’t totally sure how some of the surrounding applications would cope with the change though.
Once the MySQL 5.7 upgrade was complete everything was working fine, so I got a little excited and decided to switch to PHP7 as well. Before this I was just using the stock version from the CentOS6 yum repository, which was pretty old.
The switch to PHP7 was a little more problematic. Some of my code failed, but a quick look at the Apache error log showed I was still using split() in a couple of places where I should have been using explode(). Once I sorted that the main website looked fine. WordPress worked with no problems, which was nice.
I had a couple of issues with phpBB 3.1. First, I was still using the database type of “mysql” in the phpBB config, which means it uses mysql_connect() to connect to the database. That has been deprecated for a while, but has been desupported in PHP7. Once I switched the database type to “mysqli” and emptied the contents of the “cache” directory it connected OK. There are still some issues, which according to the change log will not get fixed until the phpBB 3.2 release, but with the exception of some ugly debugging messages, it kind-of works now.
Both MySQL 5.7 and PHP7 claim significant performance improvements, so it will be interesting to see if that is noticeable on my site.
PS. I don’t believe the downtime this morning was anything to do with the upgrade. I’ve been fighting with the server for a while now. My current contract comes to an end in about 4 months. I think I’ll make a move to AWS next. Maybe a couple of small servers and a load balancer in front of them!