Webmin control panel allows you to have several PHP versions in the same server. There is a possibility to choose different PHP versions for separate Virtual Servers (per domain and per directory).
0. Preliminary requirements
Webmin 1.8 using CentOS 7.
1. Log into your server
Log in to your server with root user. How to log into Linux based server see here.
2. Install PHP 5.6 on CentOS 7
Install the SCL Repo:
yum install centos-release-scl
Install the PHP packages:
yum install rh-php56 rh-php56-php-mysqlnd
3. Install second PHP version
In this case, we will install PHP 7.2 on CentOS 7. Install the SCL Repo:
yum install centos-release-scl
Install the PHP packages:
yum install rh-php72 rh-php72-php-mysqlnd
4. Enable “suexec_module” on server
This will allow Webmin to recognize different PHP versions:
vi /etc/httpd/conf/httpd.conf
Find and remove comment from line “#LoadModule suexec_module modules/mod_suexec.so”. It should look like this:
LoadModule suexec_module modules/mod_suexec.so
Save and close the file. Then restart Apache:
5. Log into your Webmin control panel
If you haven't done it yet, see how to use it in the link here.
6. Re-Check Configuration of the server
After logging into Webmin, go to Virtualmin, then go to “System Settings → Re-Check Configuration”
If you see the error:
“Virtualmin is configured to setup DNS zones, but this system is not setup to use itself as a DNS server. Either add 127.0.0.1 to the list of DNS servers or turn off the BIND feature on the module config page.”
Press on “list of DNS servers” and in the empty line in “DNS servers” section enter localhost IP: 127.0.0.1 and press “Save”.
Again go to “System Settings → Re-Check Configuration” and you should see something like this:
The following PHP versions are available : 5.5.38 (/usr/bin/php-cgi), 5.6.25 (/opt/rh/rh-php56/root/usr/bin/php-cgi), 7.2.10 (/opt/rh/rh-php72/root/usr/bin/php-cgi)
7. Modify Server Templates
Go to “System Settings → Server Templates”. Press on “Default Settings”.

In the line “Edit template section:” choose “Apache website”. Make sure that these settings are checked:
Automatically add appropriate SuExec directive? - Yes
And in the line “Edit template section:” choose “PHP Options”. Make sure that these settings are checked:
Default PHP execution mode: CGI wrapper (run as virtual server owner)
Save by pressing the button “Save”. From now on, all created Virtual Servers in Virtualmin will recognize different installed PHP versions.
8. Choose PHP version for your domain or directory
Now you just need to choose the required PHP version for your domain. Just press on the Virtual Server you want to choose the PHP version for and go to the “Server Configuration → PHP version”.

Here you can choose the PHP version for the whole domain and choose the different PHP versions for the selected directory (enter the name of directory in the empty line).