Puede ejecutar múltiples versiones de php en Ubuntu sin ningún problema. Necesita varias versiones de php si las aplicaciones se crean en diferentes versiones de php como php 7.1 y php 7.2. Aquí, instalaremos PHP7.0, PHP7.1, PHP7.2 y PHP7.3 en el servidor.
- Primero, agregaremos PPA, usando el siguiente comando.
# sudo apt install software-properties-common
# sudo add-apt-repository ppa:ondrej/php
- Ejecute el comando Actualizar.
# sudo apt update
- Instale PHP 7.2 con el siguiente comando.
# sudo apt install php7.2 php7.2-fpm
- Instale las extensiones php usando los siguientes comandos.
# sudo apt install php7.2-mysql php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl
- Ahora, instale PHP 7.1 usando el siguiente comando.
# sudo apt install php7.1 php7.1-fpm
- Instale extensiones PHP7.1 comunes.
# sudo apt install php7.1-mysql php7.1-mbstring php7.1-xml php7.1-gd php7.1-curl
Puede instalar php 7.0 como hemos instalado php 7.1 y 7.2
- Instala Nginx con el siguiente comando.
# sudo apt install nginx
- Cree 2 carpetas para probar el sitio web con PHP 7.1 y PHP 7.2
echo "<?php phpinfo();?>" > /var/www/php72/index.php
echo "<?php phpinfo();?>" > /var/www/php71/index.php
- Crearemos bloques de servidor para el sitio web en Nginx.
# sudo nano /etc/nginx/sites-available/php71.example.com
Inserte el siguiente contenido para el sitio con PHP 7.1
# Application with PHP 7.1 # server { listen 80; root /var/www/php71; index index.php; server_name php71.test.com; location ~* \.php$ { # With php-fpm unix sockets fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
- Ahora, cree un segundo archivo de configuración de VirtualHost para que funcione con PHP 7.2.
# sudo nano /etc/nginx/sites-available/php72.example.com
# Application with PHP 7.2 # server { listen 80; root /var/www/php72; index index.php; server_name php72.test.com; location ~* \.php$ { # With php-fpm unix sockets fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
- Cree un enlace simbólico para ambos archivos de configuración ubicados en el directorio /etc/nginx/sites-enabled.
# sudo ln -s /etc/nginx/sites-available/php71.example.com /etc/nginx/sites-enabled/
# sudo ln -s /etc/nginx/sites-available/php72.example.com /etc/nginx/sites-enabled/
- Reiniciemos Nginx.
# sudo systemctl restart nginx.service
- Puede acceder tanto al sitio web en el navegador y verá las diferentes versiones para cada uno.