So here's my problem, I'm running Moodle 3.1.2 and the server host upgraded their PHP from 7.1 to a minimum of 7.3. Moodle 3.1.2 doesn't run on PHP 7.3. So now I get an error "Fatal error: Cannot use 'object' as class name as it is reserved public_html/moodle/lib/setuplib.php on line 66". So I have to upgrade Moodle.
Which is the best way to do this so that I don't lose my course, my users and my theme. I'm worried that too large a jump in Moodle versions will cause problems. So should I go Moodle 3.7 on PHP 7.3.33 is that a safe jump, or do I go large and go 3.9 on PHP 7.4.27 (other option)?
Also the process, from what I've read, I backup and remove old files from Moodle directory, put in new files. Keep the moodledata directory as is. I copy back the config.php, the /mytheme directory, the /mymod directory. Then I try to run Moodle again. Moodle will detect the new version and do the database and file upgrades. Does this sound correct? What are the pitfalls?