Advice for best update path

Hi. I will have to update a couple of very ancient sites. The worse one is v5.7.3.1 with PHP 5.6.40 and the slightly less old one is Concrete 8.5.9 and PHP 7.1.33. I will of course do ample backup first and the upgrade will be done in a dev environment before going live. So, the websites themselves should be fine.
There is some custom code (mainly custom themes and blocks with some controllers). A few extensions too but they seem to have been updated too.
I obviously can’t go through every single versions, but I can’t make big jumps either due to having to update PHP to the minimum version for each Concrete update.
Anyone has a suggestion to what would be the best update path with Concrete and PHP versions ?

For the 5.7.3.1 I believe you can jump straight to 5.7.5.13 (if not try a step to 5.7.5 in the middle) - with this upgrade BEWARE, you need to have a very high max execution time because there is no CLI.

From 5.7.5.13 you can go to 8.x the latest (same with your 8.5.9, you can go straight to 8.5.17) I would highly recommend running this upgrade on the CLI (Command line interface (CLI) commands)

From 8.5.17 you can then jump to 9.x the latest, once again CLI is highly recommended.

If the update is successful at each step backup the database and the application/config directory so you can backpedal those two things if you need to for the next update. Your 8.5.9 site should be able to run PHP 7.4 and once you get your 5.7 site up to v8 that should be good for 7.4 too. v9 sites can run on PHP 7.4 too, but once you get update to the latest v9 you can switch to PHP 8+ (likely you will run into some errors with your add-ons and custom code with this update).

Before you start, turn off Pretty URLs, turn off caching, turn on doctrine dev mode, and clear the cache.

Thanks ! This looks pretty straightforward ! At least on paper…

1 Like