Apache Won't load after PHP Upgrade

I upgraded ubuntu from 19 to 20. In the process PHP 7.3 was removed & 7.4 was added

Then apache wouldn't start
sudo apachectl restart gave an error pointing at /etc/apache2/apache2.conf, and subsequently pointing at /etc/apache2/mods-enabled/php-7.3.load, so I opened it & saw it was pointing to /usr/lib/apache2/modules/libphp7.3.so... which turned out not to exist any more.

My /etc/apache2/apache2.conf has wildcard loading of enabled mods:

IncludeOptional mods-enabled/*.load    
IncludeOptional mods-enabled/*.conf    

So I cd /etc/apache2/mods-enabled; ls; & confirmed the php-7.3 .load & .conf are there. I move them with sudo mv php-7.3.conf ~/Documents/temp-backup/php-7.3.conf;sudo mv php-7.3.load ~/Documents/temp-backup/php-7.3.load;, which isn't really necessary because these are, I believe, the basic php 7.3 install files. I never modified them, anyway.

The php-7.3 module files are gone now (because I used mv instead of cp).

Reinstall PHP

For good measure, I remove 7.3 before installing PHP 7.4

sudo apt-get remove php7.3    
sudo apt autoremove # Once upon a time, my system broke because of this. Good thing I had backed up the list of packages    
sudo apt-get install php7.4    
sudo apt-get install php # Not sure if I needed this, but I did it anyway    
sudo apt-get update # for good measure    
sudo apt-get upgrade    

Okay, so sudo apachectl start
Woohoo!!! Success.
Go to dev.localhost in the browser AND!!!
... I see PHP code.
:(

So I do a quick search, ending up on techrepublic.
They suggest adding a <FilesMatch \.php$>\nSetHander application/x-httpd-php\n</FilesMatch> (note the two \n for new lines) to /etc/apache2/apache2.conf, which I try... running sudo apachectl restart & refreshing my dev.localhost.
Nothing.
They suggest running a2dismod mpm_event & a2enmod mpm_prefork, which I ignore. Though I DO use sudo a2enmod php7.4
Then sudo apachectl restart
And everything is working!

TL;DR

You may want to change the php versions from 7.3 & 7.4 & you may not need the removal step.

mkdir ~/Documents/temp-backup/;    
sudo mv /etc/apache2/mods-enabled/php-7.3.conf ~/Documents/temp-backup/php-7.3.conf;    
sudo mv /etc/apache2/mods-enabled/php-7.3.load ~/Documents/temp-backup/php-7.3.load;    
sudo apt-get remove php7.3    
sudo apt autoremove # Once upon a time, my system broke because of this. Good thing I had backed up the list of packages    
sudo apt-get install php7.4    
sudo apt-get install php # Not sure if I needed this, but I did it anyway    
sudo apt-get update # for good measure    
sudo apt-get upgrade    
sudo a2enmod php7.4    
sudo apachectl start    

You also might just skip that mv / backup step. If you want to keep the old PHP version, you might need to remove it & reinstall it