DirectAdmin 1.56.0 with later CustomBuild 2.0 releases allow up to 4 php versions for users to choose from. Users will select the PHP version they desire from their Domain Setup page (note in the following image that "PHP Version Selector" in located in top-right in between the "Back" and "private_html setup" buttons.)
Clicking "PHP Version Selector" results in a pop-up box containing a drop-down listing available PHP versions from which one may choose.
These PHP versions are defined in the file /usr/local/directadmin/custombuild/options.conf like so:
php1_release - Default PHP version used by all unless otherwise selected php2_release php3_release php4_release
The corresponding PHP handlers are defined in the custombuild options.conf as well via the php#_mode setting where # represents which either 1, 2, 3, or 4.
To check your DirectAdmin PHP versions currently installed and enabled via the options.conf, use the following command:
grep -P 'php[\d]_' /usr/local/directadmin/custombuild/options.conf
This will result in output similar to the following for a server running suPHP for PHP 7.3 and PHP 5.6.
[root@host ~]# grep -P 'php[\d]_' /usr/local/directadmin/custombuild/options.conf php1_release=7.3 php1_mode=suphp php2_release=5.6 php2_mode=suphp php3_release=no php4_release=no php3_mode=php-fpm php4_mode=php-fpm [root@host ~]#
The DirectAdmin configuration may not have all 4 versions of PHP installed and enabled upon server provisioning depending on your host. These will be set to 'no' like below if the 3rd and 4th available PHP versions are not set:
php3_release no php4_release no
If set, it will be set to the major and minor values of the version installed for that php, like so:
php3_release 7.3 php4_release 5.6
The following example configures all 4 of the available PHP versions as well as their PHP handlers:
cd /usr/local/directadmin/custombuild ./build update ./build set php1_release 7.3 ./build set php2_release 7.2 ./build set php3_release 5.6 ./build set php4_release 5.3 ./build set php1_mode php-fpm ./build set php2_mode php-fpm ./build set php3_mode php-fpm ./build set php4_mode php-fpm ./build php n ./build rewrite_confs
You can change the version numbers and handlers around as desired for compiling your PHP versions. Note that the default PHP version is always php1_release.
If you want your users to have access to the PHP selector to choose their own PHP version from the options above, you would need to make sure the php_version_selector setting is enabled in the DirectAdmin configuration. To check, run the following command:
/usr/local/directadmin/directadmin c | grep php_version_selector
The following output would indicate that the PHP selector is available for the users:
[root@host ~]# /usr/local/directadmin/directadmin c | grep php_version_selector php_version_selector=1 [root@host ~]#
If you prefer to use a GUI to manage this, you can install the CustomBuild GUI Plugin. See our KH wiki for an article detailing the installation and usage of this plugin. Alternatively, you can open a support ticket with the support team and we'll be happy to install this for you! :)