Update from 3.3.4.1 to 3.6.11.2 advice What is the best way to do this?
I also have a number of plugins that all need updating from the same time period.
I don't think any of the breaking changes affect anything I've done, but I wonder/expect that some plugins may need to be updated to work with the new craft versions.
The PHP requirements changed twice during the various updates.
I'm currently running PHP 7.2 but I know that Craft 3.6 needs 7.2.5 or later.
I can make 7.4 available but do I change it before I start the updates or after.
I have already tried doing this once from the control panel, and Craft seemed to update and the control panel was available but all the plugins were disabled and when I tried to update any plugin it failed and I got an Internal server error page. The composer.json file hadn't been updated to show the new version of craft, I tried editing it and changing the PHP version in the config.platform but still couldn't update any plugin.
I can ssh into the server but my command line knowledge is very limited and potentially dangerous.
My server is already running composer 2.0.6
This is how I would go about this (in a local or dev environment):
PHP
First, activate PHP 7.4 and check if the site still works as it should (frontend, backend). I don't know exactly if version 3.3.4.1 works with PHP 7.4, but it's easier to switch back to an older PHP-version than reverting a Craft upgrade.
Craft
After you've made sure that the site still works, you can start the upgrade to Craft 3.6.11.2. I would kindly but strongly suggest that you use Craft's command line commands for this. In our experience, this gives you more detailed error messages.

First, make a backup of both your files and database (create a server snapshot, or manually create a backup)
Now, open a terminal. Don't be scared, you'll love it. Or not, depending on the outcome of this experiment.
Navigate to your project's root folder.
Run ./craft update &lt;-- This will run the craft script in the current folder (./) and then it tells Craft to run the update command. This command will only show you what needs to be updated, it will not update anything.
Now, you should see a list of updates of both Craft and plugins. I'd start by updating Craft itself. Baby steps, you know?
Run ./craft update craft &lt;-- This tells Craft to update ... itself. In the background, composer.json will be changed and Composer will update Craft. If that fails, Craft will tell you why. If something goes wrong, Craft will ask you if you want the changes to composer.json reverted. If you choose to do this, you can then fix the problem and run the update again. If you don't revert the changes, you can fix the problem and run composer update. If you update Craft using Composer, you'd still have to run ./craft migrate/all to run any database migrations that come with newer versions.
If the update succeeds, you can then ./craft update all, to update all plugins. This, again, changes your composer.json file and runs Composer in the background.

Common pitfalls
File or folder permissions
Your vendor folder, your config/project folder ... Craft needs permission to change things in order to proceed with the update. Check your permissions and try again.
Composer mismatches
A failing update could be Composer throwing an error. For instance, if your composer.json file explicitly says &quot;Use PHP 7.0&quot;, and Craft 3.6 requires PHP 7.2, you'd get an error. In this case, alter composer.json and try again.
Luck and common sense
Most of the times, Craft updates just work. If they don't, put on your smart hat and try to read the errors that Craft or Composer throws at you. Another great place to look for errors is Craft's log (storage/logs/web.log). It's much easier to come up with a solution if you know what the problem is. Good luck, and remember ... backup first!