GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer PHP 5.6 et 7.0 - 8.1 en tant que PHP-FPM &FastCGI pour ISPConfig 3 avec apt sur Debian 8 à 11

Ce tutoriel montre comment installer plusieurs versions de PHP sur un serveur ISPConfig Debian. La version PHP peut ensuite être sélectionnée dans les paramètres du site Web ISPConfig 3 pour chaque site individuellement. Cette fonctionnalité fonctionne avec PHP-FPM et FastCGI. Nous allons installer PHP 5.6, 7.x et 8.x en tant que PHP-FPM et une version FastCGI sur un serveur Debian en utilisant les packages PHP de sury.org.

1 Remarque préliminaire

J'installerai PHP directement depuis le site des mainteneurs de Debian PHP Package https://packages.sury.org/php/ avec apt-get. Cela n'écrasera pas l'installation existante mais remplacera la version PHP utilisée par défaut par la version la plus récente installée ! Il est donc très important d'ajouter une nouvelle version de PHP pour la version installée à ISPConfig et de modifier d'abord tous les sites vers cette version. Si vous utilisez des tâches cron appelant des scripts PHP, vous devez également les adapter, plus tard.

Étant donné que d'autres packages comme openssl sont également mis à jour, les packages installés à partir de sury.org ne peuvent pas simplement être supprimés après l'installation. Vous devez d'abord rétrograder ces packages vers les versions Debian avant de pouvoir supprimer les packages PHP sans casser les autres packages. Le moyen le plus simple pour moi était de désactiver le nouveau référentiel ajouté, puis les packages installés à partir de sury.org apparaîtront comme des packages auto-créés ou obsolètes dans aptitude et vous pourrez rétrograder package après package.

Veuillez noter que PHP-FPM peut être utilisé sur les serveurs Apache et Nginx tandis que FastCGI est disponible uniquement pour les serveurs Apache.

2 Activer les versions de PHP dans ISPConfig

Dans ISPConfig 3, vous pouvez configurer les nouvelles versions PHP sous Système> Versions PHP supplémentaires.

Ajouter la version PHP de Debian

Vous pouvez ignorer cette étape si vous n'avez pas installé de version Debian de PHP.

Tout d'abord, vous devez ajouter une nouvelle version pour la version PHP déjà installée. Dans l'onglet Nom, il vous suffit de saisir un nom pour la version de PHP (par exemple, Debian 5.6) - cette version de PHP sera répertoriée sous ce nom dans les paramètres du site Web dans ISPConfig :

Accédez à l'onglet Paramètres FastCGI et remplissez les champs comme suit :

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

Allez ensuite dans l'onglet PHP-FPM Settings et renseignez les champs comme suit :

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

Étape importante pour les tâches cron

Si vous utilisez des tâches cron appelant des scripts PHP, vous devez également indiquer à cron quelle version utiliser. Ajoutez php5 au début de la commande pour utiliser la version Debian. Si vous n'êtes pas sûr de ce que vous utilisez exactement, suivez le lien symbolique /usr/bin/php et utilisez sa destination finale comme préfixe.

Ajouter d'autres versions de PHP

Actuellement, 3 versions sont disponibles sur https://packages.sury.org/php/ et vous devez répéter la dernière étape maintenant pour chaque version que vous installerez. Mais utilisez plutôt les paramètres suivants :

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 version cli pour par ex. les tâches cron portent le nom 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 version cli pour par ex. les tâches cron portent le nom 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 version cli pour par ex. les tâches cron portent le nom 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 version cli pour par ex. les tâches cron portent le nom 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 version cli pour par ex. les tâches cron portent le nom 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 version cli pour par ex. les tâches cron portent le nom 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 version cli pour par ex. les tâches cron ont le nom 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 version cli pour par ex. les tâches cron portent le nom php8.1

3 Changer la version PHP des sites Web

Vous pouvez ignorer cette étape si vous n'avez pas installé de version Debian de PHP.

Remplacez maintenant la version PHP de tous les sites Web par la version nouvellement créée (par exemple, Debian 5.6).

Et n'oubliez pas de modifier les tâches cron comme mentionné ci-dessus.

4 Ajouter le référentiel sur packages.sury.org

Pour ajouter le référentiel sur packages.sury.org et ses clés BGP à apt, utilisez ces commandes :

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

La commande suivante n'est qu'une ligne, n'ajoutez pas de saut de ligne :

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

Pour mettre à niveau les packages déjà installés à partir du nouveau référentiel, utilisez cette commande :

apt-get upgrade

5 Installer PHP depuis packages.sury.org

Je propose ici plusieurs options d'installation, veuillez choisir les versions souhaitées et simplement ignorer le reste !

5.1 Installer PHP 5.6

Pour installer PHP, utilisez cette commande :

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 Installer PHP 7.0

Pour installer PHP, utilisez cette commande :

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 Installer PHP 7.1

Pour installer PHP, utilisez cette commande :

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 Installer PHP 7.2

Pour installer PHP, utilisez cette commande :

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 Installer PHP 7.3

Pour installer PHP, utilisez cette commande :

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 Installer PHP 7.4

Pour installer PHP 7.4, utilisez cette commande :

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 Installer PHP 8.0

Pour installer PHP 8.0, utilisez cette commande :

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 Installer PHP 8.1

Pour installer PHP 8.1, utilisez cette commande :

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 Installer l'extension Memcache (facultatif)

Pour installer Memcache, utilisez cette commande :

apt-get install php-memcache php-memcached

7 Installer l'extension APCu (facultatif)

Pour installer le cache utilisateur APC, utilisez cette commande :

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

8 Installer l'extension xDebug (facultatif)

Le module xDebug est une extension de débogage pour PHP. L'installation est facultative.

Pour installer xDebug, utilisez cette commande :

apt-get install php-xdebug

Ce paquet semble avoir d'autres paramètres par défaut que le paquet Debian php5-xdebug. En fonction de votre logiciel, vous devez modifier des paramètres tels que xdebug.max_nesting_level pour le faire fonctionner !

9 Redéfinir le PHP par défaut de Debian sur la version d'origine

Le PHP par défaut du système d'exploitation doit rester à la version d'origine. Pour résoudre ce problème, exécutez ces commandes :

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

Sur Debian 11, choisissez 7.4, sur Debian 10, choisissez 7.3, sur Debian 9 :choisissez PHP 7.0, sur Debian 8, choisissez PHP 5.6 dans la boîte de dialogue qui s'affiche.

10 Redémarrer le démon FPM

Enfin, redémarrez les démons php-fpm. Exécutez les commandes pour celles précédemment installées :

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
  • PHP :http://www.php.net/
  • ISPConfig :http://www.ispconfig.org/
  • Debian :http://www.debian.org/
  • DEB.SURY.ORG :http://deb.sury.org/

Debian
  1. Comment installer et utiliser PHP Composer sur Debian 10

  2. Comment installer et utiliser PHP Composer sur Debian 9

  3. Comment compiler PHP 5.6 (PHP-FPM &FastCGI) avec Zend OPcache et APCu pour ISPConfig 3 sur Debian 7 (Wheezy)

  4. Comment installer PHP 7 (PHP-FPM &FastCGI) pour ISPConfig 3 sur Debian 8 (Jessie)

  5. Installer et configurer Apache et php avec le mod fastcgi sur Ubuntu/Debian

Comment installer Apache avec PHP-FPM sur Debian 10

Comment installer Nginx avec PHP-FPM sur Debian 10

Comment installer Nginx et PHP sur Debian 10

Comment installer Nginx avec PHP-FPM sur Debian 11

Comment compiler PHP 5.5 (PHP-FPM &FastCGI) avec ionCube Loader, Zend OPcache et APCu pour ISPConfig 3 (Debian Wheezy)

Comment utiliser plusieurs versions de PHP (PHP-FPM et FastCGI) avec ISPConfig 3 (Debian Wheezy)