Tip: Test Your 3.X Update Offline First

It's just not funny: until we know what's behind every Joomla update crash, take every precaution.Those of you who do it yourself, be warned: take a full site backup and deploy it in some alternate location, complete with alternate database (or at least tables prefix), BEFORE you do your update from Joomla 2.5, to Joomla 3.

Failure to heed this advice may cause you to wish I could do time travel service. 

Many botched updates can be fixed by spot-fixing areas where new files weren't copied or old files weren't deleted. Others, however, have left key parts of the file structure or database, wrecked, and the site temporarily wrecked along with it.

 For this, there is not always any easy undo button.


Although you may have been told you simply failed to follow directions -- and, indeed, that is true in many cases -- I feel confident there is sometimes more at play. 

I feel sure of one factor causing Joomla 3 updates to crash, specifically for the most vulnerable users; namely, those on free or low-cost hosting, are seeing their updates smash into the roof of their low-resource hosting accounts. I'm not sure whether increased RAM demands play a part for being such an intensive process, or if perhaps there are any unchecked requirements for rarely-used and sometimes-omitted features in the updater code, or if PHP bugs are to blame in all cases. 

PHP bugs certainly are a very common problem, completely out of the Joomla team's hands. Most successful PHP builds feature upwards of a thousand errors, or more, which are simply known to occur if certain technologies are present in the hardware or software of the machine. Thus, anytime the number, or specific kinds, of PHP errors on a server constitute a deal-breaker, the only choice might be to spin the hosting roulette wheel in search of a hosting account whose budget servers don't feature those errors, or try to take steps to get your current host's problem resolved, yourself. 

The potential for PHP bugs to crash the updater presents the sort of wall some end-users just won't know how to climb. 

And yet, troubleshooting scenarios such as the site which was broken by the baffled user, has become required from time to time. Unless and until the updater becomes more careful in its automatic checks, some extra caution is now required, just to stay current. To my knowledge, there's little or no way to predict whether this will affect you.

Regardless, the goal is a successful upgrade. Even if your 3.0 updates have, so far, met with failure and crashes, it's provably possible to succeed using all but the most broken site databases -- even, usually, after crashed updates. 

Those of you asking whether this article applies to you before you try the update: yes.

An "easy" workaround, very often, is to move a backup to another host, just for the duration of the update; take a fresh backup on that alternate host; and deploy that updated backup, on the live site.

Rather than being "easy", this is a hump for some of you, especially those who have tried to be as hands-off as possible. Of course, the option exists to hire someone such as myself, who presumably has servers set up as work labs for doing tasks even professional servers aren't immediately kitted-up for...

If you haven't tried your update yet at all, just create a new database (and grant some database user, full permissions on that new database). Then proceed by deploying a backup into a subfolder, attached to that new database. Update that copy of your site, then re-deploy to the main folder during off-peak hours.

If your current host just can't handle the update, you'll have roughly three options. You could upgrade your hosting account specs, even if temporarily. You could rent an alternate hosting account -- perhaps you can find an introductory deal with a low price and strong specs. Or, you can go all-in, creating for yourself what I call a server-workstation, aka, a workstation for those of us whose work requires a server. 

For the all-in type, the prerequisite homework is to make a project of setting up Apache, MySQL, and PHP, for yourself.

What I have to say about the two general paths for that task, won't be good news to the half-hearted DIY'er: those quick-and-dirty *AMP stack kits, tend not to avail when your goal is to give yourself an *AMP server which runs BETTER than your professionally-managed-at-whatever-price hosting account. Half measures can halve your chances of success -- nevertheless, more power to anyone who bypasses an update blockage via offline update on something like WAMP or XAMPP. 

To do it my way, just install the three separately. If you get stuck, make sure to only follow recent advice, as older procedures were rife with complexities that have since been ironed out. Importantly, don't forget to switch the MySQL and Apache services, to manual start-up, unless you intend to start a dedicated server.

And, lest we forget that other option:

I can be hired to update Joomla if you get stuck.