Multiple PHP Versions
DirectAdmin has support for running two PHP versions alongside each other. Currently, the most popular combination is PHP 5.6 and 7.0. This way, you can support both legacy software as well as very new and up-to-date software.
In this tutorial, we will be using CustomBuild to run two PHP versions.
Prior to following this tutorial, you will need to make sure you are running CustomBuild 2.0. If this is not the case, please verify and update if needed. A step-by-step guide of how to do this can be found here.
Note: PHP 7 is only supported by DirectAdmin 1.50.1 and newer.
Step 1: Altering the CustomBuild configuration
There are two ways to alter the CustomBuild configuration: directly modifying the options.conf file or using the command line. In this guide, we will be using the command line.
In order to set the two PHP versions 5.6 and 7.0, first navigate to the CustomBuild folder:
Step 2: Setting the PHP versions
Next, run the following commands in order to set the versions:
./build set php1_mode php-fpm
./build set php2_mode php-fpm
./build set php1_release 7.0
./build set php2_release 5.6
Note: Using the above example, both PHP versions will be run in
php-fpm mode. This is required if you are using an Nginx and Apache reverse proxy. If you are not using a reverse proxy, you can change the PHP mode if needed.
Using PHP versions older than 5.6 is strongly discouraged as they have all reached their end of life (EOL), thus and no longer updated or maintained. As such, it is recommended that you use PHP 7 whenever possible, and use 5.6 purely for being able to temporarily support legacy applications.
Verify the first few lines match or occur at least once throughout the file:
If not, please rerun the commands above.
Step 3: Recompiling PHP
Recompile PHP and rewrite the configurations:
./build php n
This can take a long time, please don’t interrupt the process. It is perhaps best if you ran the commands in a screen session, and detach while the process is running in case your SSH session gets disconnected or interrupted.
Step 4: Setting the PHP versions
See our guide “PHP Selector“.
This article was written by: Alentejo Hosting.