GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar PHP 5.6 y 7.0 - 8.1 como PHP-FPM y FastCGI para ISPConfig 3 con apt en Debian 8 a 11

Este tutorial muestra cómo instalar varias versiones de PHP en un servidor ISPConfig Debian. La versión de PHP se puede seleccionar más tarde en la configuración del sitio web de ISPConfig 3 para cada sitio individualmente. Esta función funciona con PHP-FPM y FastCGI. Instalaremos PHP 5.6, 7.x y 8.x como una versión PHP-FPM y FastCGI en un servidor Debian usando los paquetes PHP de sury.org.

1 nota preliminar

Instalaré PHP directamente desde el sitio de mantenimiento de paquetes PHP de Debian https://packages.sury.org/php/ con apt-get. ¡Esto no sobrescribirá la instalación existente, pero cambiará la versión de PHP utilizada predeterminada a la más nueva instalada! Por lo tanto, es muy importante agregar una nueva versión de PHP para la versión instalada a ISPConfig y cambiar todos los sitios a esta versión primero. Si está utilizando trabajos cron que llaman scripts PHP, también debe adaptarlos, más adelante hablaremos de eso.

Debido a que otros paquetes como openssl también se actualizan, los paquetes instalados de sury.org no pueden simplemente eliminarse después de la instalación. Primero debe degradar estos paquetes a las versiones de Debian antes de poder eliminar los paquetes de PHP sin romper otros paquetes. La forma más sencilla para mí fue desactivar el nuevo repositorio agregado, luego los paquetes instalados de sury.org aparecerán como paquetes autocreados o obsoletos en aptitude y podrá degradar paquete tras paquete.

Tenga en cuenta que PHP-FPM se puede usar en servidores Apache y Nginx, mientras que FastCGI está disponible solo para servidores Apache.

2 Habilitar versiones de PHP en ISPConfig

En ISPConfig 3, puede configurar las nuevas versiones de PHP en Sistema> Versiones adicionales de PHP.

Agregar la versión PHP de Debian

Puede omitir este paso si no tiene instalada una versión Debian de PHP.

En primer lugar, debe agregar una nueva versión para la versión PHP ya instalada. En la pestaña Nombre, simplemente ingrese un nombre para la versión de PHP (por ejemplo, Debian 5.6); esta versión de PHP aparecerá con este nombre en la configuración del sitio web en ISPConfig:

Vaya a la pestaña Configuración de FastCGI y complete los campos de la siguiente manera:

Path to the PHP FastCGI binary: php5-cgi
Path to the php.ini directory: /etc/php5/cgi/php.ini

Luego vaya a la pestaña Configuración de PHP-FPM y complete los campos de la siguiente manera:

Path to the PHP-FPM init script: php5-fpm
Path to the php.ini directory: /etc/php5/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php5/fpm/pool.d

Paso importante para trabajos cron

Si usa trabajos cron que llaman a scripts PHP, también debe decirle a cron qué versión usar. Agregue php5 al comienzo del comando para usar la versión de Debian. Si no está seguro de lo que está usando exactamente, siga el enlace simbólico /usr/bin/php y use su destino final como prefijo.

Añadir otras versiones de PHP

Actualmente hay 3 versiones disponibles en https://packages.sury.org/php/ y debe repetir el último paso ahora para cada versión que instale. Pero use la siguiente configuración en su lugar:

PHP 5.6

Path to the PHP FastCGI binary: php-cgi5.6
Path to the php.ini directory: /etc/php/5.6/cgi/php.ini
Path to the PHP-FPM init script: php5.6-fpm
Path to the php.ini directory: /etc/php/5.6/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/5.6/fpm/pool.d

La versión cli para, p. trabajos cron tiene el nombre php5.6.

PHP 7.0

Path to the PHP FastCGI binary: php-cgi7.0
Path to the php.ini directory: /etc/php/7.0/cgi/php.ini
Path to the PHP-FPM init script: php7.0-fpm
Path to the php.ini directory: /etc/php/7.0/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.0/fpm/pool.d

La versión cli para, p. trabajos cron tiene el nombre php7.0.

PHP 7.1

Path to the PHP FastCGI binary: php-cgi7.1
Path to the php.ini directory: /etc/php/7.1/cgi/php.ini
Path to the PHP-FPM init script: php7.1-fpm
Path to the php.ini directory: /etc/php/7.1/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.1/fpm/pool.d

La versión cli para, p. trabajos cron tiene el nombre php7.1.

PHP 7.2

Path to the PHP FastCGI binary: php-cgi7.2
Path to the php.ini directory: /etc/php/7.2/cgi/php.ini
Path to the PHP-FPM init script: php7.2-fpm
Path to the php.ini directory: /etc/php/7.2/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.2/fpm/pool.d

La versión cli para, p. trabajos cron tiene el nombre php7.2.

PHP 7.3

Path to the PHP FastCGI binary: php-cgi7.3
Path to the php.ini directory: /etc/php/7.3/cgi/php.ini
Path to the PHP-FPM init script: php7.3-fpm
Path to the php.ini directory: /etc/php/7.3/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.3/fpm/pool.d

La versión cli para, p. trabajos cron tiene el nombre php7.3.

PHP 7.4

Path to the PHP FastCGI binary: php-cgi7.4
Path to the php.ini directory: /etc/php/7.4/cgi/php.ini
Path to the PHP-FPM init script: php7.4-fpm
Path to the php.ini directory: /etc/php/7.4/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.4/fpm/pool.d

La versión cli para, p. trabajos cron tiene el nombre php7.4.

PHP 8.0

Path to the PHP FastCGI binary: php-cgi8.0
Path to the php.ini directory: /etc/php/8.0/cgi/
Path to the PHP-FPM init script: php8.0-fpm
Path to the php.ini directory: /etc/php/8.0/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.0/fpm/pool.d

La versión cli para, p. trabajos cron tiene el nombre php8.0

PHP 8.1

Path to the PHP FastCGI binary: php-cgi8.1
Path to the php.ini directory: /etc/php/8.1/cgi/
Path to the PHP-FPM init script: php8.1-fpm
Path to the php.ini directory: /etc/php/8.1/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.1/fpm/pool.d

La versión cli para, p. trabajos cron tiene el nombre php8.1

3 Cambiar la versión de PHP de los sitios web

Puede omitir este paso si no tiene instalada una versión Debian de PHP.

Ahora cambie la versión de PHP de todos los sitios web a la versión recién creada (por ejemplo, Debian 5.6).

Y no olvide cambiar los trabajos cron como se mencionó anteriormente.

4 Agregue el repositorio en packages.sury.org

Para agregar el repositorio en packages.sury.org y sus claves BGP para usar estos comandos:

apt-get install -y apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

El siguiente comando es solo una línea, no agregue ningún salto de línea:

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt-get update

Para actualizar paquetes ya instalados desde el nuevo repositorio, use este comando:

apt-get upgrade

5 Instalar PHP desde packages.sury.org

Aquí ofrezco múltiples opciones para instalar, elija las versiones deseadas y simplemente omita el resto.

5.1 Instalar PHP 5.6

Para instalar PHP usa este comando:

apt-get install php5.6 php5.6-cli php5.6-cgi php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache libicu65 php5.6-common php5.6-json php5.6-readline php5.6-xml

5.2 Instalar PHP 7.0

Para instalar PHP usa este comando:

apt-get install php7.0 php7.0-cli php7.0-cgi php7.0-fpm php7.0-gd php7.0-mysql php7.0-imap php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-zip php7.0-mbstring php7.0-soap php7.0-opcache php7.0-common php7.0-json php7.0-readline php7.0-xml

5.3 Instalar PHP 7.1

Para instalar PHP usa este comando:

apt-get install php7.1 php7.1-cli php7.1-cgi php7.1-fpm php7.1-gd php7.1-mysql php7.1-imap php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-sqlite3 php7.1-tidy php7.1-xmlrpc php7.1-xsl php7.1-zip php7.1-mbstring php7.1-soap php7.1-opcache php7.1-common php7.1-json php7.1-readline php7.1-xml

5.4 Instalar PHP 7.2

Para instalar PHP usa este comando:

apt-get install php7.2 php7.2-cli php7.2-cgi php7.2-fpm php7.2-gd php7.2-mysql php7.2-imap php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl php7.2-zip php7.2-mbstring php7.2-soap php7.2-opcache php7.2-common php7.2-json php7.2-readline php7.2-xml

5.5 Instalar PHP 7.3

Para instalar PHP usa este comando:

apt-get install php7.3 php7.3-cli php7.3-cgi php7.3-fpm php7.3-gd php7.3-mysql php7.3-imap php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl php7.3-zip php7.3-mbstring php7.3-soap php7.3-opcache php7.3-common php7.3-json php7.3-readline php7.3-xml

5.6 Instalar PHP 7.4

Para instalar PHP 7.4 usa este comando:

apt-get install php7.4 php7.4-cli php7.4-cgi php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl php7.4-zip php7.4-mbstring php7.4-soap php7.4-opcache libonig5 php7.4-common php7.4-json php7.4-readline php7.4-xml

5.6 Instalar PHP 8.0

Para instalar PHP 8.0 usa este comando:

apt-get install php8.0 php8.0-cli php8.0-cgi php8.0-fpm php8.0-gd php8.0-mysql php8.0-imap php8.0-curl php8.0-intl php8.0-pspell php8.0-sqlite3 php8.0-tidy php8.0-xsl php8.0-zip php8.0-mbstring php8.0-soap php8.0-opcache libonig5 php8.0-common php8.0-readline php8.0-xml

5.6 Instalar PHP 8.1

Para instalar PHP 8.1 use este comando:

apt-get install php8.1 php8.1-cli php8.1-cgi php8.1-fpm php8.1-gd php8.1-mysql php8.1-imap php8.1-curl php8.1-intl php8.1-pspell php8.1-sqlite3 php8.1-tidy php8.1-xsl php8.1-zip php8.1-mbstring php8.1-soap php8.1-opcache libonig5 php8.1-common php8.1-readline php8.1-xml

6 Instalar la extensión de Memcache (opcional)

Para instalar Memcache usa este comando:

apt-get install php-memcache php-memcached

7 Instalar la extensión APCu (opcional)

Para instalar el caché de usuario de APC, use este comando:

apt-get install php-apcu php-apcu-bc

8 Instalar la extensión xDebug (opcional)

El módulo xDebug es una extensión de depuración para PHP. La instalación es opcional.

Para instalar xDebug use este comando:

apt-get install php-xdebug

Este paquete parece tener otras configuraciones predeterminadas además del paquete Debian php5-xdebug. ¡Dependiendo de su software, debe cambiar configuraciones como xdebug.max_nesting_level para que funcione!

9 Establece el PHP predeterminado de Debian de vuelta a la versión original

El PHP predeterminado del sistema operativo debe permanecer en la versión original. Para arreglar eso, ejecuta estos comandos:

update-alternatives --config php
update-alternatives --config php-cgi

En Debian 11, elija 7.4, en Debian 10, elija 7.3, en Debian 9:Elija PHP 7.0, en Debian 8, elija PHP 5.6 en el cuadro de diálogo que aparece.

10 Reiniciar demonio FPM

Finalmente, reinicie los demonios php-fpm. Ejecute los comandos para los instalados previamente:

service php5.6-fpm restart
service php7.0-fpm restart
service php7.1-fpm restart
service php7.2-fpm restart
service php7.3-fpm restart
service php7.4-fpm restart
service php8.0-fpm restart
service php8.1-fpm restart

11 enlaces

  • PHP:http://www.php.net/
  • ISPConfig:http://www.ispconfig.org/
  • Debian:http://www.debian.org/
  • DEB.SURY.ORG:http://deb.sury.org/

Debian
  1. Cómo instalar y usar PHP Composer en Debian 10

  2. Cómo instalar y usar PHP Composer en Debian 9

  3. Cómo compilar PHP 5.6 (PHP-FPM y FastCGI) con Zend OPcache y APCu para ISPConfig 3 en Debian 7 (Wheezy)

  4. Cómo instalar PHP 7 (PHP-FPM y FastCGI) para ISPConfig 3 en Debian 8 (Jessie)

  5. Instale y configure Apache y php con mod fastcgi en Ubuntu/Debian

Cómo instalar Apache con PHP-FPM en Debian 10

Cómo instalar Nginx con PHP-FPM en Debian 10

Cómo instalar Nginx y PHP en Debian 10

Cómo instalar Nginx con PHP-FPM en Debian 11

Cómo compilar PHP 5.5 (PHP-FPM y FastCGI) con ionCube Loader, Zend OPcache y APCu para ISPConfig 3 (Debian Wheezy)

Cómo usar varias versiones de PHP (PHP-FPM y FastCGI) con ISPConfig 3 (Debian Wheezy)