Cómo instalar múltiples versión de PHP con Apache en Debian 11/10

Cómo instalar múltiples versión de PHP con Apache en Debian 11/10

En general, el Administrador de host utiliza el sistema separado para cada implementación de la aplicación de la versión PHP. Que aumenta el costo de alojamiento. Algunos de los gerentes de host están utilizando Docker para ejecutar múltiples versión de PHP en el servidor único. Además, la mayoría de ustedes conoce la configuración. Podrían ser algunos de los administradores del sistema no son conscientes de esto. Este tutorial lo ayudará a instalar múltiples versión de PHP con Apache en Debian 11, Debian 10 y Debian 9 Systems sin cambiar las versiones PHP.

Este tutorial describe la instalación y la configuración de dos virtualhost en Apache con versiones PHP separadas. First Virtualhost funcionará con PHP 5.6 y otro virtualhost se ejecutará con PHP 7.2. Así que solo pasa por este tutorial. También puede usar más de dos versiones PHP con Apache según sea necesario, pero este tutorial cubre dos solo.

Instalación de PHP

Para la instalación de versiones PHP, utilizamos el PPA mantenido aquí. Use el siguiente par de comandos para agregar el PPA en su sistema Debian.

sudo apt instalar certificados ca certificados apt-transport-https wget -q https: // paquetes.Sury.org/php/apt.GPG -O- | sudo apt -key add - echo "Deb https: // paquetes.Sury.org/php/estiramiento main "| sudo tee/etc/apt/fuentes.lista.D/PHP.lista 

Este tutorial usa PHP 5.6 y Php 7.2 para configurar con Apache Web Server. Para usar las múltiples versiones de PHP, usaremos PHP FPM y FastCGI. Ejecute los siguientes comandos para instalar PHP y FPM en el sistema Debian.

APT UPDATY SUDO APT INSTALL PHP5.6 php5.6-FPM SUDO APT Instalar PHP7.2 php7.2-FPM 

Después de la instalación, los servicios PHP-FPM se iniciarán automáticamente. Use los siguientes comandos para asegurarse de que ambos servicios se estén ejecutando.

SUDO SYSTEMCTL ESTADO PHP5.6-FPM SUDO SYSTEMCTL ESTADO PHP7.2-FPM 

Instalación de Apache

Instale el servidor web Apache desde el repositorio oficial. Inicie la terminal en su sistema o inicie sesión con SSH para sistemas remotos. Ejecute los siguientes comandos para instalar la última versión disponible del servidor web Apache.

SUDO APT UPDATY APT APT INSTALA APACHE2 LBAPACHE2-MOD-FCGID 

Configuración de Apache

Ahora habilite pocos módulos requeridos para la configuración de múltiples versiones de PHP con Apache. Estos módulos son necesarios para integrar PHP FPM y FASTCGI con Apache Server.

Sudo A2enMod Actions Fcgid alias proxy_fcgi 

Ahora cree dos directorios sepatas en su sistema para ambos sitios que se configuran en su sistema.

sudo mkdir/var/www/php56 sudo mkdir/var/www/php72 

Ahora, crea e indexa.PHP que contiene la función phpinfo (). Esto ayudará a los usuarios a ver y confirmar, qué versión de PHP usa VirtualHost.

echo "">/var/www/php56/index.Php echo "">/var/www/php72/index.php 

Comencemos la creación de virtualhost. Apache mantiene todos los archivos de configuración VirtualHost en/etc/apache2/sites disponible con la extensión .confusión. Cree un archivo para el primer host virtual y edite en su editor de texto favorito.

sudo vim/etc/apache2/sites disponible/php56.ejemplo.comunicarse.confusión 

Agregar el siguiente contenido. Asegúrese de usar el nombre de servidor correcto y la ruta de directorio de acuerdo con su configuración. Este sitio web está configurado para funcionar con PHP 5.6.

ServerName PHP56.ejemplo.com documentroot/var/www/php56 opciones -dexes +seartsymlinks +múltiples vistas al mismo.4.10+ puede proxy a unix socket sethandler "proxy: unix:/var/run/php/php5.6-FPM.calcetín | fcgi: // localhost/"
12345678910111213 ServerName PHP56.ejemplo.com documentroot/var/www/php56 Opciones -dexes +SIGESYMLINKS +MULTIVIEWS DESFORTOVERRide, todos requieren todo lo que se otorgan # Apache 2.4.10+ puede proxy a unix socket sethandler "proxy: unix:/var/run/php/php5.6-FPM.calcetín | fcgi: // localhost/"

Del mismo modo, cree un segundo archivo de configuración VirtualHost para funcionar con PHP 7.2. Editar el archivo de configuración en el editor de texto:

sudo vim/etc/apache2/sites disponible/php72.ejemplo.comunicarse.confusión 

Agregue el siguiente contenido a archivar con el nombre de servidor adecuado y documentroot.

ServerName PHP72.ejemplo.com documentroot/var/www/php72 options -dexes +seartsymlinks +múltiples vistas al mismo.2-FPM.calcetín | fcgi: // localhost/"
123456789101112 ServerName PHP72.ejemplo.com documentroot/var/www/php72 Opciones -dexes +SIGESYMLINKS +MULTIVIEWS DESFORTOVERRide, todos requieren todo lo que se otorgan Sethandler "proxy: unix:/var/run/php/php7.2-FPM.calcetín | fcgi: // localhost/"

Ustedes ambos sitios web están configurados ahora. Pero todavía no están activos. Apache mantiene los sitios activos en el directorio habilitado para/etc/apache2/sites. Simplemente puede crear un enlace simbólico de archivos de configuración a este directorio o usar el siguiente comando para hacer lo mismo.

sudo a2ensite php56.ejemplo.com sudo a2ensite php72.ejemplo.comunicarse 

Después de hacer todos los cambios, reinicie Apache para recargar nuevos cambios de configuración.

sudo systemctl reiniciar apache2 

Tu configuración se ha completado ahora. Vaya al siguiente paso para probar su configuración.

Configuración de prueba

Abra un navegador web y visite ambos sitios. Verás que php56.ejemplo.comunicarse muestra la versión Php 5.6 y php72.ejemplo.comunicarse está mostrando el Php 7.2 Como la configuración.