Back to Browse

Install Multiple PHP Versions run parallel USING .htaccess / separate VIRTUAL HOST for each, Ubuntu

733 views
Mar 3, 2023
37:37

Multiple PHP version install in Ubuntu. Apache2, Apache. Changing php version using .htaccess & keeping or settingup using separe virtual host for each php version. Commands and points are below ============================== sudo apt-get install software-properties-common -y sudo add-apt-repository ppa:ondrej/php sudo apt-get update -y sudo apt-get install php5.6 php5.6-fpm php5.6-mysql libapache2-mod-php5.6 -y sudo systemctl start php5.6-fpm sudo systemctl status php5.6-fpm ================================================ sudo apt-get install php7.0 php7.0-fpm php7.0-mysql libapache2-mod-php7.0 -y sudo systemctl start php7.0-fpm sudo apt-get install php7.1 php7.1-fpm php7.1-mysql libapache2-mod-php7.1 -y sudo systemctl start php7.1-fpm sudo apt-get install php7.2 php7.2-fpm php7.2-mysql libapache2-mod-php7.2 -y sudo systemctl start php7.2-fpm sudo apt-get install php7.3 php7.3-fpm php7.3-mysql libapache2-mod-php7.3 -y sudo systemctl start php7.3-fpm sudo apt-get install php7.4 php7.4-fpm php7.4-mysql libapache2-mod-php7.4 -y sudo systemctl start php7.4-fpm sudo apt-get install php8.1 php8.1-fpm php8.1-mysql libapache2-mod-php8.1 -y sudo systemctl start php8.1-fpm sudo apt-get install php8.2 php8.2-fpm php8.2-mysql libapache2-mod-php8.2 -y ================================================== Enable Mode ============= sudo a2enmod actions fcgid alias proxy_fcgi To ENABLE .htaccess through change version sudo gedit /etc/apache2/apache2.conf Find :: Directory /var/www Change "AllowOverride None" To "AllowOverride All" and save it [Directory /var/www/] Options Indexes FollowSymLinks AllowOverride All Require all granted [/Directory] ========================================= Restart APACHE web server ======================= sudo systemctl restart apache2 ================================ MODE 1: Using .htaccess NOTE : ************ Change/Replace "Square Brackets [ & ] " tags to "Less than" and "Greater than" characters in your site file. change 5.6 to your necessary version like php7.4, php8.1 etc ============ [FilesMatch \.php$] # Apache 2.4.10+ can proxy to unix socket SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost" [/FilesMatch] ================================================== MODE 2: In Terminal Mode : check installed php version & switch to other version sudo update-alternatives --config php Mode 3: for VIRTUAL HOST setup ----------------------------- sudo gedit /etc/hosts ======================== 127.0.5.6 php56.local 127.0.7.2 php72.local 127.0.7.4 php74.local 127.0.8.1 php81.local ======================== FOR Virtual host Need to create sites in below location sudo gedit /etc/apache2/sites-available/php74.local.conf sudo gedit /etc/apache2/sites-available/php81.local.conf sudo gedit /etc/apache2/sites-available/php74.local.conf Code for each virtual host sites: NOTE : ************ Change/Replace "Square Brackets [ & ] " tags to "Less than" and "Greater than" characters in your site file. change 56 to your site version like 81,74,72 like that. Change this "php5.6-fpm" To "php8.1-fpm" or php7.4-fpm [VirtualHost *:80] ServerAdmin [email protected] ServerName php56.local DocumentRoot /var/www/php56.local DirectoryIndex info.php [Directory /var/www/php56.local] Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all [/Directory] [IfModule dir_module] DirectoryIndex index.php index.html [/IfModule] [FilesMatch \.php$] # For Apache version 2.4.10 and above, use SetHandler to run PHP as a fastCGI process server SetHandler "proxy:unix:/run/php/php5.6-fpm.sock|fcgi://localhost" [/FilesMatch] ErrorLog ${APACHE_LOG_DIR}/php56.local_error.log CustomLog ${APACHE_LOG_DIR}/php56.local_access.log combined [/VirtualHost] Restart APACHE web server ======================= sudo systemctl restart apache2 Additional Extenstions (curl, xml, gd library, mbstring, initl (for normalisation class issue fix in Laravel)) ==================== sudo apt-get install php5.6-curl php5.6-xml php5.6-gd php5.6-intl php5.6-mbstring -y sudo apt-get install php7.2-curl php7.2-xml php7.2-gd php7.2-intl php7.2-mbstring -y sudo apt-get install php7.4-curl php7.4-xml 7.4-gd php7.4-intl php7.4-mbstring -y sudo apt-get install php8.1-curl php8.1-xml 8.1-gd php8.1-intl php8.1-mbstring -y sudo apt-get install php8.2-curl php8.2-xml 8.2-gd php8.2-intl php8.2-mbstring -y

Download

0 formats

No download links available.

Install Multiple PHP Versions run parallel USING .htaccess / separate VIRTUAL HOST for each, Ubuntu | NatokHD