When something goes wrong, follow the logic. What happened? We changed a setting in Global Configuration. This should make a change to the configuration.php file. So I checked that found this file was zero bytes in size. I downloaded the file and sure enough, it was empty. How could that happen? What stopped the file being written? We've been doing this successfully for months. As we were pretty confident that the site should be okay, we needed to look up a level. Look at the hosting. Is there a problem there? YES! The account was over its quota. This meant no new data would be written to the account. So when we made the change, configuration.php was cleared and normally a new version would be written. But in this case nothing new could be written so we ended up with an empty file which means the site broke. 

Takeaways:

  1. If something breaks - don't panic - follow the logic.
  2. Check the site first, then hosting and if applicable, the server.
  3. Keep local backups. I could have downloaded the most recent backup, extracted the file and uploaded it, but this can be a lengthy process. Don't trust your host - keep your own backups. We use and recommend Akeeba Backup. Consider investing in the Pro version.
  4. Keep your mailboxes clean. In this case the reason the account went over quota is because there were a huge amount of emails in the spam folder.