First of all, I would remove PHP 5.5 completely. It’s unsupported - the last branch, 5.6, was last updated over a year ago.
Ideally you should be running at least PHP 7.2 unless your code desperately requires an older version (and then, you need to seriously consider fixing your scripts).
When I did my clean install and updated from yum, it tried to load the mod_php module which caused all these problems. If you read my post, you’ll see this.
Did you install phpMyAdmin (I’ll call it PMA from now) manually, or via one-click? I installed PMA onto a virtualhost manually so I had the same PHP not-parsing problem as on my other vhosts. If you’ve used the one-click installer, I wonder if it’s done something differently which has preserved PHP parsing…
I would have another look at all the virtualhost definitions.
In one of my site’s public_html
<Directory> section, I have (including other things)
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
AddType application/x-httpd-php .php
AddHandler fcgid-script .php
AddHandler fcgid-script .php7.3
FCGIWrapper /home/username/fcgi-bin/php7.3.fcgi .php
FCGIWrapper /home/username/fcgi-bin/php7.3.fcgi .php7.3
in 15-php73-php.conf I have my slightly modified config which disables mod_php loading:
# Cannot load both php5 and php7 modules
#LoadModule php7_module modules/libphp73.so
Note I have #commented the LoadModule line
If you are missing all the FCGI-related lines in your site’s virtualhost definitions, as I understand it, Virtualmin has removed them because it thinks PHP is being loaded using mod_php. However, mod_php doesn’t work properly (at least, I couldn’t get it to work).
Manually modifying the virtualhost files was useless until I disabled the mod_php LoadModule completely, because virtualmin just re-wrote them and removed the lines. Disabling mod_php wasn’t very obvious at first.
If your Apache is loading
libphp5.so it is causing this problem because it seems FCGI cannot coexist with mod_php very well on a Virtualmin install. It is possible, but honestly I could not make it work (and it seemed stupid to change from Virtualmin’s default, because it would make support harder).
To disable mod_php, just comment out the LoadModule line in the .conf file, then re-add the AddHandler and FCGIWrapper lines to your vhost (a bit repetitive, sorry) and your sites should start processing PHP again after you restart Apache.
Perhaps checking the configuration files would do this automatically, I haven’t tried… (from a command line,
virtualmin check-config). Maybe just do the Apache configs:
virtualmin validate-domains --all-domains --feature web
(or you can do individual domains by altering the parameters, see https://www.virtualmin.com/documentation/developer/cli/validate_domains).
Remember to modify each site’s virtualhost for both port 80 and port 443 if you do it manually.
After commenting out the LoadModule line, I’ve not had any problems with yum updates to the latest security patches for PHP 7.3 - I just update modules, and everything works fine.